function inctopic()
  local hw = here();
  hw._talk = 0;
  hw._topic = hw._topic+1;
end

function inctopic_(obj)
  return function()
    local hw = obj;
    if type(hw) ~= "table" then
      hw = ref(hw);
    end
    hw._talk = 0;
    hw._topic = hw._topic+1;
  end
end

function outscene(scn)
  scn.Return = nvl(scn.Return, "Вернуться в свою тюрьму? Нет, больше я так не выдержу. Уж лучше смерть.");
  scn.TurnAround = nvl(scn.TurnAround, 
    rnd_ {
      [[Я слышу за спиной какой-то шум и оборачиваюсь. Но позади меня никого нет.]],
      [[Мне постоянно кажется, что кто-то следует за мной попятам и дышит мне в затылок, но тут же исчезает,
        растворяется в воздухе, стоит мне лишь обернуться. Надо поскорее выбираться отсюда. Этот лабиринт сводит
        меня с ума.]]
    });
  scn.Wait = nvl(scn.Wait, 
    rnd_ {
       [[Не стоит здесь задерживаться. Я могу в любой момент столкнуться с охраной.]]
      ,[[Вряд ли это мне сейчас поможет.]]
      ,[[Я стою почти минуту, озираясь по сторонам, решая, что мне делать дальше. Я уже начинаю сомневаться, что
         из этогого лабиринта вообще есть выход.]]
      ,[[Не стоит терять время.]]
      ,[[Мне надо торопиться, охранники следуют за мной по пятам.]]
      ,[[Время работает против меня.]]
      ,[[Сейчас на счету каждая секунда.]]
    });
  if scn.obj ~= nil then
    local idx = table.len(scn.obj);
    scn.obj[idx+1] = tais3;
  end
  return scene(scn);
end

antenna2 = from_("antenna1") {
   nam          = _"антенна"
  ,Exam         = redirect_("Exam", "antenna1")
  ,Throw        = use_ {
                     ["default"] = redirect_("Throw", "antenna1")
                    ,["tais3"] = [[Вряд ли это хорошая идея.]]
                  }
  ,Put          = redirect_("Put", "antenna1")
  ,Give         = redirect_("Give", "antenna1")
  ,withCrack    = true
  ,withKick     = true
}:like(pItem)

escape_gun = item {
   nam          = _"пистолет"
  ,TakeForce    = use_ {
                     ["default"] = [[Это очень, очень плохая идея. Меня пристрелят, стоит мне лишь дёрнуться.]]
                    ,["tais3"] = [[Таис не вооружена.]]
                  }
}

tais3 = item {
   _state       = 0
  ,nam          = _"Таис"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Таис часто и неровно дышит, а лицо её покраснело. Порез на её шее потемнел и воспалился. Я начинаю
                          думать, что ещё немного, и она может упасть в обморок, а тогда я точно потеряю всякую надежду
                          выбраться отсюда.]]
                    ,["s._state==1"] =
                        [[Таис хочется казаться жёсткой и решительной, хотя в действительности сильно нервничает. Сомневаюсь,
                          что она когда-нибудь стреляла из этой штуки.]]
                    ,["s._state==2 or s._state==3"] =
                        [[Я не вижу её лица -- она стоит ко мне спиной и закрывает меня от тёмно-серых, которые целятся в нас
                          из шоковых пистолетов. Неужели Таис и правда поверила мне?]]
                    ,["s._state==4 or s._state==5"] = [[Волосы у Таис на лбу потемнели от крови. Надеюсь, я ударил её не слишком сильно.]]
                  }
  ,Talk         = function(s)
                    local hw = here();
                    if hw.tais == nil and hw._topic == nil then
                      if passline2._topic ~= 1 then
                        return [[-- Отпустите меня! -- просит Таис. -- Зачем я вам теперь нужна?]];
                      else
                        return [[-- Отпусти меня! -- просит Таис. -- Зачем я тебе?]];
                      end
                    else
                      local tab = hw.tais;
                      if hw._topic ~= nil then
                        tab = hw["tais"..tostring(hw._topic)];
                      end
                      return rcall(tab,hw);
                    end
                  end
  ,Listen       = redirect_("Talk")
  ,Threat       = function(s,w,t)
                    local hw = here();
                    if hw.threat == nil then
                      return "Сомневаюсь, что это сейчас необходимо.";
                    else
                      return hw:threat(w,t);
                    end
                  end
  ,Attack       = use_ {
                     ["default"] =
                        choose_ {
                           ["default"] =
                              choose_ {
                                 ["default"] = [[Она не сопротивляется.]]
                                ,["passline2._topic==1 and passline2._talk>1 and passline2._talk<3"] =
                                    [[Я замахиваюсь тазером, намереваясь ударить Таис, и та вздрагивает, машинально закрывая лицо руками. Но я стою с поднятым
                                      пистолетом и не двигаюсь. Я не могу заставить себя её ударить.]]
                                ,["passline2._topic==1 and (passline2._talk==3 or passline2._talk==4)"] =
                                    [[Я замахиваюсь тазером, и Таис вскрикивает.^
                                      -- Лучше отдай мне пропуск по-хорошему, -- говорю я.]]
                                ,["passline2._topic==1 and passline2._talk==5"] = "Так я от неё ничего не добьюсь."
                              }
                          ,["s._state==1"] = [[Не думаю, что бросаться на неё с голыми руками -- это хорошая идея.]]
                          ,["s._state==2"] = [[В этом нет никакого смысла, она мне помогает.]]
                          ,["s._state==3"] =
                              use_ {
                                 ["default"] = 
                                    [[Вряд ли получится убедительно, если я ударю её левой рукой. Боюсь придётся воспользоваться тазером.]]
                                ,["tazer3"] =
                                    chain_ {
                                      inc_("s._state"),
                                      unset_("alik2._angry"),
                                      inctopic,
                                      [[Я быстро размахиваюсь и бью Таис рукояткой тазера по голове. Я стараюсь бить не слишком сильно, однако
                                        у меня не получается рассчитать удар, и девушка, охнув, едва не падает. Мне приходится придержать её
                                        за талию. Она склоняет голову и прижимает руку ко лбу. Чуть выше виска, у волос, выступает кровь.^
                                        -- Пропустите нас! -- кричу я и приставлю тазер к её затылку. -- Мне это уже надоело! Теперь я буду
                                        считать до трёх! Раз!..^
                                        Алик закусывает губы и опускает пистолет.^
                                        -- Ладно, -- говорит он. -- Д2. И ни шага дальше.]]
                                    }
                              }
                          ,["s._state==4 or s._state==5"] = [[Нет, бить я её больше не буду.]]
                        }
                    ,["antenna2"] = "Нет, я не собираюсь бить Таис этой заточкой. Так можно и убить."
                  }
  ,withPure     = true
  ,withShoot    = true
  ,withThrow    = true
  ,withTakeForce= true
  ,articles     = {
                    ["TakeForce"] = "у"
                  }
}:like(pHuman)

passline_door = item {
   nam          = _"дверь"
  ,Exam         = [[Судя по всему, в этом комплексе все двери одинаковые. Разглядывать здесь абсолютно нечего.]]
  ,Open         = redirect_("Approach")
  ,Move         = [[Не понимаю, как можно сдвинуть дверь.]]
  ,Close        = [[Дверь и так закрыта.]]
  ,Wreck        = [[Сомневаюсь, что у меня это получится.]]
  ,Walk         = redirect_("Approach")
  ,Approach     = redirect_("Walk")
  ,Ascend       = [[Да, из-за стресса я совсем потерял способность думать.]]
  ,articles     = {
                    ["Ascend"] = "на"
                  }
}:like(pDoor)

passline_floor = from_("cmn_floor") {
   nam          = _"пол"
  ,Exam         = [[Пол здесь гулкий и металлический -- так, что каждый шаг отчётливо слышно даже на довольно
                    приличном расстоянии.]]
  ,Lie          = [[И зачем мне ложиться на пол?]]
  ,Sit          = [[Усесться на пол здесь, посреди коридора, -- это не лучшая идея.]]
}

passline_ceil = item {
   nam          = _"~потолок"
  ,Exam         = [[Потолки здесь высокие -- на вид метра три, а то и выше. На кораблях и станциях я никогда таких
                    высоких потолков не видел. Но, с другой стороны, я никогда и не был на кораблях девятых.]]
  ,withThrow    = true
}:like(pBuild)

passline_walls = item {
   nam          = _"стены"
  ,Exam         = [[Такое впечатление, что я нахожусь в каком-то противоударном бункере. Тот, кто проектировали эти коридоры, явно
                    не думал об удобстве и уюте. Не удивлюсь, если окажется, что металл, которым обшиты стены, выдерживает
                    прямое попадание крупнокалиберного снаряда.]]
  ,Approach     = [[Я думаю, мне не стоит терять время.]]
  ,Move         = [[Не нужно сходить с ума.]]
  ,Wreck        = redirect_("Move")
  ,Open         = redirect_("Move")
  ,Ascend       = [[Вряд ли мне это сейчас поможет.]]
  ,articles     = {
                     ["Ascend"] = "на"
                    ,["Walk"] = "к"
                    ,["Approach"] = "к"
                  }
  ,withShoot    = true
}:like(pWall)

tazer2 = from_(tazer) {
   nam          = _"тазер"
  ,Shoot        = use_ {
                     ["default"] = [[Не думаю, что стоит это делать. Так я ничего не добьюсь.]]
                    ,["tais3"] =
                        choose_ {
                           ["default"] = [[Я бы предпочёл не делать этого.]]
                          ,["passline2._topic==1 and passline2._talk==5"] =
                              chain_ {
                                unlock_("shoot"),
                                redirect_("ShootTais", "passline2")
                              }
                        }
                    ,["passline2_orangelock"] = [[Какой смысл стрелять в замок? Это не поможет мне открыть дверь.]]
                    ,["passline2_doubledoor"] = [[Не имеет смысла стрелять из тазера по двери.]]
                    ,["passline3_doubledoor"] = [[Не имеет смысла стрелять из тазера по двери.]]
                    ,["passline_walls"] = [[Не вижу причины палить по стенам.]]
                    ,["passline3_lock"] =
                        choose_ {
                           ["default"] =
                              chain_ {
                                set_("passline3_doubledoor._shoot"),
                                inctopic,
                                [[Я и сам не очень-то хорошо понимаю, что собираюсь сделать. Я отхожу от двери на расстояние в пару метров,
                                  точно боюсь, что свихнувшаяся электроника прошьёт меня насквозь смертельным разрядом, прицеливаюсь
                                  из тазера и стреляю в замок.^
                                  Тазер неожиданно вздрагивает в моей руке, и из его дула с резким свистом вылетают два электрода. Из-за отдачи
                                  тазера я промахиваюсь, и электроды бьют в металлическую стену чуть выше замка и разлетаются в стороны
                                  с ворохом искр.^
                                  -- Метко, -- говорит, усмехаясь, Таис.]]
                              }
                          ,["not passline3_doubledoor._close and passline3_doubledoor._shoot"] =
                              chain_ {
                                inctopic,
                                set_("passline3_doubledoor._close"),
                                [[Я прицеливаюсь чуть ниже, крепко держу тазер двумя руками и стреляю снова. На сей раз электроды бьют прямо
                                  в центр панели, раздаётся сухой отрывистый треск, и индикатор замка гаснет. Кажется, я добился своего. Дверь
                                  заблокирована.^
                                  Таис хочет что-то сказать, но вместо этого как-то нервно дёргает головой и подходит к двери с надписью "Г1".]]
                              }
                          ,["passline3_doubledoor._close"] = [[Всё уже сделано, больше стрелять по замку не нужно.]]
                        }
                  }
  ,Give         = "Не думаю, что это хорошая идея."
  ,Fetch        = redirect_("Give")
  ,articles     = {
                    ["Shoot"] = "из"
                  }
  ,withOpen     = true
  ,withThreat   = true
  ,withKick     = true
}


---------------------------------------------------------------------------------------------------
--passline1
---------------------------------------------------------------------------------------------------
passlinestart = pause {
   dsc          = [[На секунду...]]
  ,time         = 3000
  ,next         = walkfast2_("passlinestart2")
}

passlinestart2 = gfxroom {
   ontimer      = function(s)
                    local y = 50;
                    if s._x == nil then
                      s._x = -600;
                    end
                    local gfx = s:loadgfx("redlight");
                    sprite.copy(gfx, s.pic, s._x, y);
                    s._x = s._x + 100;
                    if s._x > 800 then
                      s._x = -600;
                    end
                    if s._frames == 2 then
                      play_music("firealarm");
                    end
                  end
  ,stop         = 150
  ,next         = chain_ {
                    take_("antenna2"),
                    take_("tazer2"),
                    mute_(0,0),
                    walk_("passline1")
                  }
  ,rate         = 50
  ,dispose      = chain_ {
                    nil_("_x"),
                    nil_("_y")
                  }
}

passline1 = outscene {
   _talk        = 0
  ,checkpoint   = true
  ,enter        = chain_ {
                    drop_("antenna1"),
                    drop_("tazer"),
                    take_("tazer2")
                  }
  ,obj          = {
                     "passline1_start"
                    ,"passline1_itself"
                    ,"passline1_door1"
                    ,"passline1_door2"
                    ,"passline1_door3"
                    ,"passline1_go_blue"
                    ,"passline1_go_green"
                    ,"passline_walls"
                    ,"passline_floor"
                    ,"passline_ceil"
                  }
  ,tais         = choose_ {
                      ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Что это был за толчок? -- спрашиваю я, взмахивая тазером. -- Где мы находимся?^
                            -- Мы... -- неуверенно начинает Таис. -- Мы в медицинском...^
                            -- Что за чушь! -- перебиваю её я. -- Мы на станции, мы сходим с орбиты? Или... -- Я чувствую,
                            как холодок пробегает у меня по спине. -- Это нападение?^
                            -- О чём вы? -- говорит Таис. -- Мы на Земле. Сирену, наверное, включили из-за вашего побега,
                            а толчок... Я, правда, не знаю, что это было. Если только...]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          music_("spring",0),
                          [[-- Что? Что если только? -- спрашиваю я, но тут же поднимаю руку, приказывая Таис замолчать.^
                            Я осматриваюсь.^
                            Мы стоим в длинном сумрачном коридоре. Потолочные лампы здесь горят совсем тускло, однако вдалеке
                            почему-то меняют свой спектр, и в итоге правый конец коридора светится синим, а левый -- зелёным.
                            Я не уверен, но мне кажется, что слева доносится топот ног.^
                            Таис поворачивается ко мне и чуть заметно улыбается.^
                            -- В какую сторону идти? -- спрашиваю я.]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ну? -- спрашиваю я, подталкивая Таис дулом тазера. -- Куда нам идти? Где находится Д2?^
                            -- Д2? Но зачем вам? Там же...^
                            Таис вздыхает.^
                            -- Вон, туда, -- говорит она. -- К зелёному свету.]]
                        }
                    ,["s._talk==3"] =
                        [[-- Ты уверена? -- спрашиваю я. -- Нам нужно в зелёный конец?^
                          Таис молча кивает головой.]]
                  }
  ,before_Walk  = choose_ {
                    ["s._talk<3"] =
                        use_ {
                           ["passline1_go_blue"] = [[Надо сначала разобраться, в какую сторону идти.]]
                          ,["passline1_go_green"] = [[Надо сначала разобраться, в какую сторону идти.]]
                        }
                  }
  ,before_Approach=redirect_("before_Walk")
}

passline1_start = rooms.event
  [[На секунду я подумал, что запертый в камере мужчина ещё не успел сообщить о моём побеге, но тут же пол под моими ногами
    пошатнулся, как при землетрясении, взвыла аварийная сирена, и по потолку побежали яркие режущие глаза огни. Я замер от
    удивления и выронил тазер, который со звоном упал на металлический пол. Мне потребовалось несколько секунд, чтобы поднять
    оружие, но Таис даже не сдвинулась с места. Она тоже была поражена.^
    Сирена захлебнулась так же внезапно, как и началась. Аварийные огни погасли, и спустя несколько секунд в коридоре вновь
    стояла тишина. Таис повернулась ко мне; кажется, она хочет что-то сказать.]]

passline1_itself = item {
   nam          = _"коридор"
  ,dsc          = choose_ {
                    ["not here()._eventOn"] = redirect_("Exam")
                  }
  ,Exam         = [[Это совсем не похоже на медицинский центр. Скорее, я бы поверил в то, что мы на военной базе
                    или в космическом корабле. Коридор абсолютно пуст -- здесь нет ни информационных панелей, ни картин на стенах,
                    ни даже стульев, -- как будто мы находимся не в жилом помещении, а в гулком промышленном тракте. Все стены
                    обшиты бронепластинами цвета ружейной стали, к которым примыкают массивные металлические
                    колонны, похожие на списанную арматуру для каркасов космических кораблей.^
                    Здесь есть три двери -- та, из которой мы вышли, с номером Б2, и ещё две -- Б1 и Б3.]]
}:like(pRoom)

passline1_go_blue = item {
   nam          = name_ {
                     ["default"] = _"синий свет"
                    ,["Walk"] = _"синий конец коридора"
                    ,["Enter"] = _"синий конец коридора"
                  }
  ,Walk         = walk_("passline2")
  ,Enter        = walk_("passline2")
  ,Approach     = redirect_("Walk")
  ,articles     = { 
                     ["Walk"] = "в" 
                    ,["Approach"] = "к"
                    ,["Enter"] = "в"
                  }
}:like(pLocation)

passline1_go_green = item {
   nam          = name_ {
                     ["default"] = _"зелёный свет"
                    ,["Walk"] = _"зелёный конец коридора"
                    ,["Enter"] = _"зелёный конец коридора"
                  }
  ,Enter        = redirect_("Walk")
  ,Walk         = walk_("gameover",
                    [[Я иду вместе с Таис к зелёному свету. Когда мы уже подходим к концу коридора из-за поворота вылетает
                      группа людей в тёмных одеждах. Я даже не успеваю их как следует рассмотреть. Кто-то громко кричит, затем
                      раздаётся выстрел...]])
  ,Approach     = redirect_("Walk")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Approach"] = "к"
                    ,["Enter"] = "в"
                  }
}:like(pLocation)

passline1_door3 = from_("passline_door") {
   nam          = name_ {
                     ["default"] = _"дверь Б3"
                    ,["Walk"] = _"Б3"
                    ,["Enter"] = _"Б3"
                  }
  ,Exam         = [[Массивная металлическая дверь с надписью Б3. Наверное, там ещё одна пыточная камера, вроде моей.]]
  ,Approach     = walk_("gameover",
                    [[Я подхожу к двери и пытаюсь открыть её. Судя по всему, дверь заперта на электромагнитный замок. Я теряю
                      несколько секунд, прежде чем мне приходит в голову, спросить ключ у Таис. Та неожиданно охотно протягивает
                      мне свою ключ-карту, однако открыть дверь всё равно не получается -- на матовом табло двери постоянно
                      загорается красный огонёк.^
                      Отчаявшись, я решаю оставить дверь в покое, но уже слишком поздно. В конце коридора появляется группа
                      охранников, вооружённых шоковыми пистолетами. Я хватаю Таис, пытаясь прикрыться её телом, но охранники
                      всё равно начинают стрелять. Один заряд бьёт мне в плечо, а два других попадают по ногам. В глазах у
                      меня темнеет, и я падаю.]])
  ,Open         = redirect_("Approach")
  ,Enter        = redirect_("Approach")
}

passline1_door1 = from_("passline_door") {
   nam          = name_ {
                     ["default"] = _"дверь Б2"
                    ,["Walk"] = _"Б2"
                    ,["Enter"] = _"Б2"
                  }
  ,Exam         = [[Дверь, которая ведет к моей камере. Больше я не вернусь туда.]]
  ,Approach     = [[У меня нет ни малейшего желания возвращаться обратно в камеру.]]
  ,Open         = [[Зачем? Я не собираюсь возвращаться.]]
  ,Enter        = redirect_("Approach")
}

passline1_door2 = from_("passline_door") {
   nam          = name_ {
                     ["default"] = _"дверь Б1"
                    ,["Walk"] = _"Б1"
                    ,["Enter"] = _"Б1"
                  }
  ,Exam         = [[Дверь с надписью Б1 -- точно такая же, как и так, которая ведет в мою камеру.]]
  ,Approach     = redirect_("Approach", "passline1_door3")
  ,Enter        = redirect_("Approach", "passline1_door3")
  ,Open         = redirect_("Approach", "passline1_door3")
  ,Close        = [[Дверь и так закрыта.]]
}


---------------------------------------------------------------------------------------------------
--passline2
---------------------------------------------------------------------------------------------------
passline2 = outscene {
   _talk        = 0
  ,_topic       = 0
  ,obj          = {
                     "passline2_itself"
                    ,"passline2_start"
                    ,"passline2_go_orange"
                    ,"passline2_go_blue"
                    ,"passline2_door1"
                    ,"passline2_door2"
                    ,"passline2_door3"
                    ,"passline2_doubledoor"
                    ,"passline2_orangelock"
                    ,"passline_walls"
                    ,"passline_ceil"
                    ,"passline_floor"
                  }
  ,Wait         = [[Не стоит терять здесь времени. Скорее всего, я опережаю своих преследователей лишь на пару минут.
                    Сейчас любое промедление может быть смертельно.]]
  ,tais0        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Зачем вы спрашиваете меня, куда идти, -- говорит Таис, -- если всё равно идёте в другую сторону?^
                            -- Предчувствие, -- отвечаю я.^
                            Таис молчит.^
                            -- Но всё-таки, -- не унимаюсь я, -- что произошло, когда мы вышли из камеры? Это было похоже на удар.
                            И если сирену включили из-за моего побега, почему здесь всё ещё никого нет? Как будто это был сигнал
                            эвакуации.^
                            -- Это точно не был сигнал эвакуации, -- качает головой Таис. -- А по поводу остального... Извините,
                            но я не знаю. Как-то у меня ещё не было подобного... опыта.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ну, а теперь куда?^
                            -- Вы меня спрашиваете, чтобы потом пойти в другую сторону? -- говорит Таис.^
                            Она вздыхает.^
                            -- Дверь, где горит оранжевая лампа, ведёт в следующий блок, а та, где горит синяя, в прыдущий. Но вы
                            ведь сами это уже давно поняли, правда?]]
                        }
                    ,["s._talk==2"] =
                        [[-- А что в этих комнатах? -- спрашиваю я, показывая на двери.^
                          Таис пожимает плечами.]]
                    ,["s._talk==3"] =
                        [[Либо она действительно ничего не знает, либо прикидывается. Но в любом случае я от неё сейчас ничего не добьюсь.]]
                  }
  ,tais1        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Скажи, -- спрашиваю я Таис, -- а у тебя ведь должен быть какой-нибудь пропуск или ключ-карта? У тебя
                            же наверняка есть допуск.^
                            -- Пропуск есть, -- говорит Таис, -- но я оставила его в нашей комнате, в Б2. Мы можем вернуться.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          mute_(4000,2000),
                          [[-- Ты меня за идиота держишь?^
                            Я поднимаю дуло тазера и прижимаю его к затылку Таис. Девушка вздрагивает и чуть наклоняет вперёд голову.^
                            -- Не надо, -- тихо говорит она.^
                            -- Вернуться назад? -- спрашиваю я. -- Может, ты сама сбегаешь, а я пока тебя здесь подожду?^
                            -- У меня правда нет с собой пропуска, -- говорит девушка. -- Можете... можете хоть...^
                            Она не договаривает.]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          music_("stabat",0),
                          [[-- Хочешь, чтобы я тебя обыскал? -- спрашиваю я.^
                            -- Обыскивайте, -- безучастно говорит Таис. -- Это ничего не изменит.^
                            Я чувствую, как меня начинает распирать от злости. Она же просто тянет время! В любую минуту сюда
                            могут нагрянуть охранники -- или кто там следует за нами по этим коридорам.^
                            -- Значит, так, -- говорю я. -- Мы либо выйдем отсюда, либо я... -- и навожу на Таис тазер. -- Если я не
                            смогу открыть эту дверь, то для меня и так всё потеряно.^
                            -- Но у меня и правда нет пропуска! -- начинает плакать девушка. -- Я его оставила там. Не стреляйте!^
                            -- А для меня нет пути назад, -- говорю я.^
                            -- Не надо! -- молит Таис. -- У меня нет пропуска!]]
                        }
                    ,["s._talk==3"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Я выстрелю!^
                            -- И что, просто так пристрелите меня здесь? Я ведь не желаю вам зла!^
                            -- Тогда дай мне ключ-карту, -- спокойно говорю я.^
                            Таис молчит.]]
                        }
                    ,["s._talk==4"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ну всё!^
                            Я целюсь Таис в голову, но не могу заставить себя выстрелить.^
                            -- А знаете что, -- неожиданно спокойно говорит Таис. -- Вы не выстрелите. Или...^
                            Она вдруг оборачивается и смотрит мне прямо в глаза.^
                            -- Может, лучше перейдем на ты?^
                            Я целюсь из тазера ей в лицо. В лицо Лиды.^
                            -- Я выстрелю, -- говорю я.^
                            -- Ну, тогда стреляй, -- говорит Таис.^
                            Я глубоко вздыхаю и прижимаю дуло тазера к её лбу.^
                            -- Или просто отдай мне тазер, -- говорит Таис, -- и мы вернемся обратно, пока ты не натворил бед. Пропуск
                            ты не получишь.]]
                        }
                    ,["s._talk==5"] =
                        [[Упрашивать её бессмысленно. На секунду я думаю, что, возможно, мне и правда придётся выстрелить.]]
                    ,["s._talk==6"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Сразу бы так, -- говорю я. -- В следующий раз не нужно провоцировать меня.^
                            Таис ничего не говорит.]]
                        }
                    ,["s._talk==7"] = [[Сейчас не до разговоров. Я и так потерял слишком много времени.]]
                  }
  ,threat       = choose_ {
                     ["default"] = [[Пока что это не нужно.]]
                    ,["s._topic==1 and (s._talk==1 or s._talk==2)"] = redirect_("tais1")
                    ,["s._topic==1 and (s._talk==3 or s._talk==4)"] =
                        [[-- Не надо, -- говорю я, -- не вынуждай меня. Но если...^
                          Я целюсь в Таис из тазера.^
                          -- Если ты...]]
                    ,["s._topic==1 and s._talk==5"] = redirect_("ShootTais")
                  }
  ,ShootTais    = chain_ {
                    inc_("passline2._talk"),
                    set_("passline2_doubledoor._open"),
                    [[Я продолжаю целиться в Таис и делаю несколько шагов назад. Она смотрит на меня с некоторым удивлением,
                      но всем своим видом показывает, что ни на секунду не верит в то, что я действительно смогу выстрелить.^
                      -- Ты не Лида, -- говорю я и уже готовлюсь нажать на спусковой крючок.^
                      -- Стой! -- кричит Таис.^
                      Я останавливаюсь.^
                      -- Пропуска у меня действительно с собой нет, -- говорит девушка, -- но я знаю код.^
                      Она подходит к замку у двери, нажимает на кнопку сбоку, и рядом с мигающим индикатором появляется небольшая
                      клавиатура. Таис быстро вводит несколько цифр, раздаётся отрывистый щелчок, и огонёк на узком табло замка
                      сменяется с красного на зелёный.^
                      Дверь открыта.]]
                  }
}

passline2_itself = item {
   nam          = _"коридор"
  ,dsc          = [[Мы снова оказываемся в прямом кишкообразном коридоре с металлическими панелями на стенях. Здесь тоже есть
                    три пронумерованные комнаты -- В1, В2 и В3, -- а конец коридора перегораживает широкая двойная дверь,
                    похожая на ворота шлюза. Над шлюзом горит ярко-оранжевая газовая лампа.]]
  ,Exam         = redirect_("Wait",passline2)
}:like(pRoom)

passline2_start = rooms.event
  [[^Я чувствую, что мне нужно торопиться.]]

passline2_go_orange = item {
   nam          = name_ {
                     ["default"] = _"оранжевый свет"
                    ,["Enter"] = _"оранжевый конец коридора"
                    ,["Walk"] = _"оранжевый конец коридора"
                  }
  ,Exam         = [[Кажется, таким образом здесь отмечают направления, хотя я до сих пор не понимаю логику. И всё-таки, где я
                    нахожусь?]]
  ,Approach     = choose_ {
                     ["default"] =
                        chain_ {
                          inctopic,
                          set_("passline2_doubledoor._exam"),
                          [[Я подхожу к широкой двери под оранжевой лампой и смотрю на светящийся красным светом электромагнитный
                            замок. Дверь, разумеется, закрыта.]]
                        }
                    ,["passline2._topic==1 and not passline2_doubledoor._open"] = [[Дверь закрыта. Нужно придумать, как открыть её.]]
                    ,["passline2_doubledoor._open"] =
                        chain_ {
                          mute_(4000,2000),
                          walk_("passline3")
                        }
                  }
  ,Enter        = redirect_("Approach")
  ,articles     = { 
                     ["Walk"] = "в" 
                    ,["Approach"] = "к"
                    ,["Enter"] = "в"
                  }
}:like(pLocation)

passline2_orangelock = item {
   nam          = _"замок"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Электромагнитный замок выглядит странно и старомодно, как будто перекочевал сюда прямиком из какой-нибудь исторической
                          хроники. Здесь можно ввести код с выдвижной клавиатуры или использовать карточку.]]
                    ,["passline2_doubledoor._open"] =
                        [[Индикатор электромагнитного замка светится зелёным -- дверь открыта, и мы можем пройти в следующий коридор.]]
                  }
  ,Crack        = choose_ {
                     ["default"] =
                        use_ {
                           ["nil"] = [[У меня для этого нет ни инструментов, ни знаний.]]
                          ,["default"] = [[Нет, ничего не выйдет.]]
                          ,["antenna2"] = 
                              [[Даже гениальный хакер не смог бы взломать подобный замок с помощью обломка антенны, так на что могу рассчитывать я?]]
                        }
                    ,["passline2_doubledoor._open"] = redirect_("Wreck")
                  }
  ,Wreck        = choose_ {
                     ["default"] = [[Даже если я сломаю замок, то дверь от этого не откроется. Скорее наоборот -- я её окончательно заблокирую.]]
                    ,["passline2_doubledoor._open"] =
                        [[Я мог бы попробовать заблокировать дверь, чтобы задержать своих преследователей, но делать это нужно из другого коридора.]]
                  }
  ,Open         = choose_ {
                     ["default"] =
                        use_ {
                           ["default"] = [[У меня нет ни кода, ни ключ-карты.]]
                          ,["keycard"] = [[Карточка не подходит -- что и следовало ожидать.]]
                          ,["antenna2"] = [[Я не представляю, как здесь можно использовать антенну.]]
                          ,["tazer2"] = [[Какой смысл стрелять в замок? Это не поможет мне открыть дверь.]]
                        }
                    ,["passline2_doubledoor._open"] = [[Всё уже сделано, проход в следующий блок открыт.]]
                  }
  ,TurnOn       = [[Электромагнитный замок активирован, насколько я вижу.]]
  ,Activate     = redirect_("TurnOn")
  ,TurnOff      = [[Даже если бы я смог это сделать, не очень понятно, как это мне поможет.]]
  ,withShoot    = true
  ,cnd          = if_("passline2_doubledoor._exam")
}:like(pBuild)

passline2_doubledoor = from_("passline_door") {
   _open        = false
  ,_exam        = false
  ,nam          = _"двойная дверь"
  ,Exam         = chain_ {
                    set_("s._exam"),
                    [[Похожие двери действительно можно увидеть в шлюзах на космических кораблях, где они должны выдерживать
                      огромные перепады давления. Сомневаюсь, что есть смысл в подобной конструкции в обычном сооружении, тем более,
                      медицинском.]]
                  }
  ,Approach     = redirect_("Approach", "passline2_go_orange")
  ,Open         = redirect_("Approach", "passline2_go_orange")
  ,Close        = choose_ {
                     ["default"] = [[Дверь и так закрыта.]]
                    ,["s._open"] = [[Зачем закрывать эту дверь?]]
                  }
  ,Crack        = choose_ {
                     ["default"] = [[Сомневаюсь, что у меня что-нибудь получится.]]
                    ,["s._open"] = [[Дверь и так открыта.]]
                  }
  ,Wreck        = redirect_("Crack")
  ,withShoot    = true
}

passline2_go_blue = item {
   nam          = name_ {
                     ["default"] = _"синий свет"
                    ,["Walk"] = _"синий конец коридора"
                    ,["Enter"] = _"синий конец коридора"
                  }
  ,Enter        = redirect_("Approach")
  ,Approach     = walk_("gameover",
                    [[Я возвращаюсь с Таис в предыдущий коридор, решив, что пошёл в неправильно направлении. Однако, когда мы ещё
                      проходим под синей лампой, я замечаю вдалеке силуэты людей в тёмных одеждах. Я хочу повернуть назад, но уже
                      поздно. Таис, воспользовавшись моим секундным замешательством, резко разворачивается и бьёт меня ребром ладони
                      по кадыку. Я падаю на колени. Когда я поднимаю голову, надо мной уже стоят люди с шоковыми пистолетами. Бежать
                      теперь некуда.]])
  ,articles     = { 
                     ["Walk"] = "в" 
                    ,["Enter"] = "в" 
                    ,["Approach"] = "к"
                  }
}:like(pLocation)

passline2_door1 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь В1"
                    ,["Walk"] = _"В1"
                    ,["Enter"] = _"В1"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = walk_("passline2room")
  ,Enter        = redirect_("Approach")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}

passline2_door2 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь В2"
                    ,["Walk"] = _"В2"
                    ,["Enter"] = _"В2"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = walk_("passline2room")
  ,Enter        = redirect_("Approach")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}

passline2_door3 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь В3"
                    ,["Walk"] = _"В3"
                    ,["Enter"] = _"В3"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = walk_("passline2room")
  ,Enter        = redirect_("Approach")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}


---------------------------------------------------------------------------------------------------
--passline2room
---------------------------------------------------------------------------------------------------
passline2room = outscene {
   obj          = {
                     "passline2room_start"
                    ,"passline2room_itself"
                    ,"passline2room_monitors"
                    ,"passline2room_tables"
                    ,"passline2room_cup"
                    ,"passline2room_penal"
                    ,"passline2room_box"
                    ,"passline2room_exit"
                    ,"cmn_ceil"
                    ,"cmn_floor"
                  }
  ,Exit         = redirect_("Walk", "passline2room_exit")
  ,Wait         = [[Да, можно ненадолго здесь остановиться, перевести дух.]]
  ,TurnAround   = [[Мы с Таис здесь одни.]]
  ,tais         = [[-- Что это за комната? -- спрашиваю я Таис.^
                    -- Не знаю, -- Таис пожимает плечами. -- Просто пустой кабинет.]]
}

passline2room_start = rooms.event
  [[Как ни странно, оказывается, что дверь открыта. Я и Таис заходим внутрь.^]]

passline2room_itself = item {
   nam          = _"комната"
  ,dsc          = [[Мы в небольшой комнате, похожей на чей-то рабочий кабинет. Два стола с выключенными мониторами стоят друг
                    напротив друга, у стены рядом с дверью есть шкаф с открытыми полками.]]
  ,Exam         = redirect_("dsc")
  ,Walk         = [[Я прохаживаюсь по комнате.]]
}:like(pRoom)

passline2room_monitors = item {
   nam          = _"мониторы"
  ,Exam         = [[Обычные непроекционные дисплеи, какая-то неизвестная модель, хотя я не очень хорошо разбираюсь в этих делах.]]
  ,TurnOn       = [[Я несколько раз щёлкаю включателем на одном из мониторов, но ничего не происходит. Кажется, компьютеры в
                    этой комнате попросту не подключены.]]
  ,Activate     = redirect_("TurnOn")
  ,TurnOff      = [[Здесь и так всё не работает.]]
  ,Move         = [[У меня нет времени этим заниматься.]]
  ,Take         = [[Сомневаюсь, что мне стоит таскать с собой мониторы.]]
  ,Wreck        = [[Не вижу смысла здесь всё крушить и ломать.]]
  ,Ascend       = [[Трудно придумать что-то менее осмысленное.]]
}:like(pDevice)

passline2room_tables = item {
   _exam        = false
  ,nam          = _"столы"
  ,Exam         = [[На каждом из столов стоят симметричные пластиковые пеналы и пустые кружки для кофе. Больше ничего нет.
                    Даже не верится, что здесь работают люди.]]
  ,Move         = [[Столы на вид довольно тяжелые. К тому же мне нет нужды их передвигать.]]
  ,Wreck        = redirect_("Wreck", "passline2room_monitors")
  ,Open         = [[Ящиков в столах нет.]]
  ,Close        = [[Закрывать здесь нечего.]]
  ,Approach     = redirect_("Exam")
  ,Ascend       = [[И зачем мне забираться на стол?]]
  ,Sit          = [[Я ненадолго присаживаюсь за ближайший стол.]]
}:like(pTable)

passline2room_cup = item {
   nam          = name_ {
                     ["default"] = _"кружки"
                    ,["Take"] = _"кружка"
                  }
  ,Exam         = [[Обычные чистые кружки. Кажется, их недавно вымыли или же ни разу ими не пользовались.]]
  ,Take         = [[Не думаю, что мне потребуется кружка.]]
  ,Move         = [[У меня нет времени на это.]]
  ,Wreck        = [[Зачем мне разбивать кружки?]]
  ,cnd          = if_("passline2room_tables._exam")
}:like(pItem)

passline2room_penal = item {
   nam          = name_ {
                     ["default"] = _"пеналы"
                    ,["Take"] = _"пенал"
                  }
  ,Exam         = [[Пустые пластиковые пеналы. Наверное, для какой-нибудь канцелярской мелочи.]]
  ,Take         = [[Сомневаюсь, что мне потребуется такой пенал.]]
  ,Move         = [[Я не думаю, что сейчас подходящее время, чтобы заниматься перестановкой вещей на чужих столах.]]
  ,Open         = [[Пеналы открыты.]]
  ,Close        = [[Эти пеналы не закрываются.]]
  ,Wreck        = redirect_("Wreck", "passline2room_monitors")
  ,cnd          = if_("passline2room_tables._exam")
}:like(pItem)

passline2room_box = item {
   nam          = _"шкаф"
  ,Exam         = [[В шкафу нет ничего нет -- полки пусты.]]
  ,Move         = [[Не думаю, что нужно это делать.]]
  ,Wreck        = redirect_("Wreck", "passline2room_monitors")
  ,Open         = [[Шкаф открыт, и полки пусты.]]
  ,Close        = [[Закрывать здесь нечего.]]
  ,Ascend       = [[Будет довольно сложно забираться на шкаф, продолжая держать Таис на мушке. Да и зачем мне это делать?]]
  ,articles     = {
                    ["Ascend"] = "на"
                  }
}:like(pBuild)

passline2room_exit = item {
   nam          = _"коридор"
  ,Walk         = walk_("gameover",
                    [[Я выхожу с Таис из комнаты и тут же замечаю, как в другом конце коридора появляются люди в тёмных комбинезонах.
                      Я на секунды застываю от удивления, и Таис пользуется моим замешательством. Она резко отпрыгивает в сторону.
                      Я пытаюсь схватить её, но уже поздно. Таис ускользает. Я остаюсь без всякой защиты. Люди в тёмных комбинезонах
                      приближаются ко мне, я слышу звук выстрела.]])
  ,Exit         = redirect_("Walk")
}:like(pLocation)


---------------------------------------------------------------------------------------------------
--passline3
---------------------------------------------------------------------------------------------------
passline3 = outscene {
   _topic       = 0
  ,_talk        = 0
  ,_door        = false
  ,obj          = {
                     "passline3_start"
                    ,"passline3_itself"
                    ,"passline3_go_orange"
                    ,"passline3_go_red"
                    ,"passline3_doubledoor"
                    ,"passline3_lock"
                    ,"passline3_door1"
                    ,"passline3_door2"
                    ,"passline3_door3"
                    ,"passline3_door4"
                    ,"passline3_door5"
                    ,"passline3_door6"
                    ,"passline_walls"
                    ,"passline_ceil"
                    ,"passline_floor"
                  }
  ,tais0        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ты можешь вновь ввести код и заблокировать дверь? -- спрашиваю я Таис.^
                            Девушка смотрит на меня удивлённо.^
                            -- Могу, конечно. Но зачем?^
                            -- Но ведь тогда... -- начинаю я.^
                            -- Думаешь, я -- единственная, кто знает этот код?]]
                        }
                    ,["s._talk==1"] =
                        [[-- Что бы ты ни сделал, надолго это их не задержит, -- говорит Таис.]]
                  }
  ,tais1        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Не волнуйся, -- говорю я, -- в более крупную цель я точно попаду.^
                            Таис ничего не отвечает.]]
                        }
                    ,["s._talk==1"] =
                        [[Сейчас не время для разговоров, я должен попытаться попасть в этот чёртов замок.]]
                  }
  ,tais2        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ты куда-то собралась? -- спрашиваю я.^
                            -- Да не убегу я, не волнуйся, -- говорит Таис.^
                            -- Ты как-то изменилась, -- говорю я. -- Ничего не хочешь мне сказать?^
                            -- Что, например? -- не понимает Таис.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Например, где мы на самом деле находимся.^
                            -- Я же говорила тебе, -- отвечает Таис. -- Мы в медицинском центре.^
                            -- То есть ты продолжаешь утверждать, что это вот... -- я показываю тазером на металлические
                            стены, -- обычный медицинский центр?^
                            -- Ну, почему же обычный? -- пожимает плечами Таис. -- Я никогда не говорила, что мы в муниципальной
                            клинике. Это, если хочешь, исследовательский центр. Его существование... -- Таис поджимает губы, --
                            не афишируется.^
                            Таис встаёт, привалившись спиной к стене -- так, что пульт от двери оказывается прямо за ней. Её правая
                            рука быстро проскальзывает за спину.]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          music_("stabat"),
                          [[-- Отойди-ка от двери, -- говорю я и навожу на Таис тазер.^
                            -- Что, опять угрозы? -- усмехается девушка. -- Тебе самому-то не надоело? Если ты меня убьёшь, то
                            окажешься попросту заперт здесь. Ты об этом сейчас отлично позаботился!^
                            -- А ты будешь мертва, -- говорю я. -- Отойди от двери!^
                            -- Хорошо, хорошо! -- Таис поднимает руки. -- Видишь, я ничего не делаю. Можешь опустить свою пушку.^
                            Но я продолжаю целиться в Таис.^
                            -- А теперь скажи мне, -- говорю я, -- где мы находимся на самом деле.^
                            -- Ладно, медицинский центр тебе не нравится, -- примирительно говорит Таис. -- Пусть будет секретная
                            лаборатория. Так пойдет?]]
                        }
                    ,["s._talk==3"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Что ещё за лаборатория? Ты издеваешься надо мной?^
                            -- Вовсе нет, -- отвечает Таис. -- Я ведь, кажется, говорила тебе, что аварии с нейроинтерфейсом пока
                            что не стремятся придавать огласке. Что, в общем-то, и неудивительно. Представь, какая реакция будет
                            во флоте. Мы всего лишь хотим выяснить, как можно помочь пострадавшим. И пока, -- Таис в упор смотрит
                            на меня, -- безрезультатно.^
                            -- И я должен в это поверить? -- спрашиваю я.^
                            -- Можешь не верить, -- отвечает Таис. -- Только вот, что это по-твоему? Военная база девятых? И ты
                            думаешь, тебе бы так легко дали сбежать? Ты бы даже из камеры-то не вышел.^
                            -- А если это очередной ваш эксперимент? -- спрашиваю я. -- Вроде кубиков?^
                            Таис вздыхает и прикрывает ладонью глаза.^
                            -- Хочешь узнать, что на самом деле находится в Д2? -- спрашивает она.]]
                        }
                    ,["s._talk==4"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Очередная ложь? -- говорю я.^
                            -- Ложь или нет, ты и сам скоро узнаешь, -- отвечает Таис. -- Остался всего один коридор. Вопрос только
                            в том, хочешь ли ты туда идти на самом деле.^
                            -- Ну, хорошо, -- соглашаюсь я. -- Говори.^
                            -- У нас был один сотрудник, -- начинает Таис, -- он любил называть это место...^
                            -- Не тяни! -- перебиваю я её. -- У меня нет времени на истории!^
                            -- Хорошо, -- говорит Таис. -- Скажу прямо. Там оборудована комната. Там делают... инъекцию пострадавшим,
                            когда они достигают последней стадии.^
                            -- Последней стадии?^
                            Таис молчит.^
                            -- То есть вы просто... убиваете их?^
                            -- Избавляем от страданий, -- поправляет меня Таис. -- Кстати, ты единственный, кто остался с "Ахилла".
                            Ну, или скоро будешь единственным. Кроме тебя, ещё долго продержалась одна девушка... Не могу вспомнить
                            её имени...]]
                        }
                    ,["s._talk==5"] =
                        chain_ {
                          inc_("tais3._state"),
                          drop_("tazer2"),
                          set_checkpoint,
                          walkfast_("locker")
                        }
                  }
  ,Cry          = choose_ {
                     ["default"] = "Я бы поберёг голосовые связки. Да и лучше не поднимать здесь лишний шум."
                    ,["s._talk==5 and s._topic==2"] = redirect_("tais2")
                  }
  ,threat       = choose_ {
                     ["default"] = [[-- Не забывай, -- говорю я Таис и взмахиваю тазером, -- что ты у меня на мушке.]]
                    ,["s._topic==2 and s._talk==2"] = redirect_("tais2")
                  }
}

passline3_start = rooms.event
  [[Мы заходим в новый коридор, и дверь за нами автоматически закрывается, однако на табло электронного замка по-прежнему
    светится зелёный индикатор. Мне приходит в голову мысль, что я мог бы попробовать заблокировать эту дверь -- 
    тогда бы получилось выиграть какое-то время, пусть хоть несколько минут -- если, конечно, ещё одна группа захвата
    не нагрянет с другой стороны.^]]

passline3_itself = item {
   nam          = _"коридор"
  ,dsc          = [[Этот коридор почти не отличается от предыдущего -- передо мной всё такая же пустая кишка с металлическими стенами, где
                    нет ничего, кроме тускло светящихся потолочных ламп. Однако дверей здесь не три, а целых шесть, и все
                    пронумерованы по возрастанию. В конце коридора виднеется ещё одна дверь, напоминающая ворота шлюза. Над ней
                    теперь горит красный огонь.]]
  ,Exam         = redirect_("dsc")
}:like(pRoom)

passline3_go_orange = item {
   nam          = name_ {
                     ["default"] = _"оранжевый свет"
                    ,["Walk"] = _"оранжевый конец коридора"
                    ,["Enter"] = _"оранжевый конец коридора"
                  }
  ,Approach     = [[Я не думаю, что это разумно -- возвращаться туда, откуда мы только что пришли.]]
  ,Walk         = redirect_("Approach")
  ,Enter        = redirect_("Approach")
  ,articles     = { 
                     ["Walk"] = "в"
                    ,["Enter"]= "в"
                    ,["Approach"] = "к"
                  }
}:like(pLocation)

passline3_go_red = item {
   nam          = name_ {
                     ["default"] = _"красный свет"
                    ,["Walk"] = _"красный конец коридора"
                    ,["Enter"] = _"красный конец коридора"
                  }
  ,Approach     = choose_ {
                     ["not passline3_doubledoor._close"] =
                        walk_("gameover",
                          [[Мы с Таис уже подходим к красной лампе, как вдруг дверь позади нас открывается. Я едва успеваю
                            обернуться, как два разряда почти одновременно ударяют меня в грудь. Я падаю на колени, в глазах
                            у меня всё плывёт. Я вижу, как ко мне бегут какие-то серые тени. Таис что-то кричит им.
                            Потом в плечо мне бьёт ещё один заряд, и я теряю сознание.]])
                    ,["passline3_doubledoor._close"] =
                        walk_("gameover",
                          [[От волнения я перестаю следить за Таис и не сразу замечаю, как она возится с панелью замка у одной
                            из дверей. Я поднимаю тазер, Таис бросает взгляд в мою сторону и нажимает последнюю кнопку
                            на панели. Я медлю с секунду, не решаясь стрелять, и ей этого хватает. Дверь открывается, и Таис
                            быстро проскальзывает внутрь. Когда я подбегаю к двери, на табло замка уже горит красный индикатор --
                            дверь заблокирована.^
                            Я оглядываюсь по сторонам. Я в ловушке. Теперь мне уже никак не выйти отсюда.]])
                  }
  ,Walk         = redirect_("Approach")
  ,Enter        = redirect_("Approach")
  ,articles     = { 
                     ["Walk"] = "в" 
                    ,["Enter"]= "в"
                    ,["Approach"] = "к"
                  }
}:like(pLocation)

passline3_doubledoor = from_("passline_door") {
   _close       = false
  ,_shoot       = false
  ,nam          = _"двойная дверь"
  ,Exam         = choose_ {
                     ["default"] = 
                        [[Дверь сейчас разблокирована и автоматически откроется, стоит только подойти к ней близко. Над дверью
                          горит оранжевая лампа.]]
                    ,["passline3_doubledoor._close"] = 
                        [[Индикатор на электрическом замке погас, и датчики движения больше не срабатывают. Когда я подхожу к двери,
                          то она остаётся закрытой. Раздвинуть массивные створки руками тоже не получается. Надеюсь, что это хоть
                          ненадолго задержит моих преследователей.]]
                  }
  ,Approach     = choose_ {
                     ["default"] =
                        [[Я делаю шаг к двери, и тяжелые бронированные створки с протяжным шипением начинают расползаться.
                          Срабатывает автоматика.]]
                    ,["passline3_doubledoor._close"] = redirect_("Exam")
                  }
  ,Open         = choose_ {
                     ["default"] = [[Дверь не заблокирована.]]
                    ,["passline3_doubledoor._close"] = 
                        [[Думаю, что открыть эту дверь теперь не получится. По крайней мере, без специальных инструментов.]]
                  }
  ,Close        = choose_ {
                     ["default"] = 
                        [[На секунду я думаю, что мог бы заставить Таис вновь ввести код и заблокировать дверь, однако вряд ли
                          это поможет.]]
                    ,["passline3_doubledoor._close"] = [[Всё уже сделано.]]
                  }
  ,withShoot    = true
}

passline3_lock = item {
   nam          = _"замок"
  ,Exam         = choose_ {
                     ["default"] = [[Электромагнитный замок -- точно такой же, как и в предыдущем блоке.]]
                    ,["passline3_doubledoor._close"] = redirect_("Exam", "passline3_doubledoor")
                  }
  ,Crack        = choose_ {
                     ["default"] = redirect_("Crack", "passline2_orangelock")
                    ,["passline3_doubledoor._close"] = [[Взламывать уже нечего, замок замкнуло.]]
                  }
  ,Wreck        = choose_ {
                     ["default"] = 
                        [[Да, я мог бы попробовать сломать замок и заблокировать дверь, однако не уверен, что у меня получится
                          сделать это голыми руками.]]
                    ,["passline3_doubledoor._close"] = [[Замок уже сломан.]]
                  }
  ,Open         = choose_ {
                     ["default"] = [[Замок сейчас открыт.]]
                    ,["passline3_doubledoor._close"] =
                        [[Теперь уже дверь не откроешь. У меня, по крайней мере, это точно не выйдет.]]
                  }
  ,Close        = redirect_("Wreck")
  ,TurnOn       = [[Не думаю, что смогу управлять отсюда питанием электромагнитного замка.]]
  ,Activate     = redirect_("TurnOn")
  ,TurnOff      = redirect_("TurnOn")
  ,withShoot    = true
}:like(pBuild)

passline3_door1 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь Г1"
                    ,["Walk"] = _"Г1"
                    ,["Enter"] = _"Г1"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = choose_ {
                     ["default"] =
                        chain_ {
                          set_("passline3._door"),
                          [[Дверь закрыта, и на ней установлен такой же электрический замок, как и на воротах в этот коридор. Я
                            поворачиваюсь к Таис.^
                            -- Открой! -- говорю я.^
                            -- От этих дверей у меня кодов нет, -- спокойно отвечает Таис.^
                            Я навожу на неё тазер.^
                            -- Что? -- спрашивает Таис. -- Опять будешь стрелять? У меня правда нет кода, я даже не знаю, что там.^
                            -- Хочешь, чтобы я поверил, что у тебя есть код от этого блока, но нет кодов от дверей? -- говорю я.^
                            -- Ага, -- отвечает Таис. -- Этот блок сквозной, если ты не заметил.^
                            -- Я не верю тебе.^
                            -- Да мне всё равно, веришь ты или нет, -- говорит Таис. -- Стрелять ты всё равно не будешь. Да и
                            зачем тебе в эти комнаты? Ты ведь хотел в какой-то Д2?]]
                        }
                    ,["passline3._door"] =
                        [[Дверь закрыта, а Таис утверждает, что у неё нет кода.]]
                  }
  ,Enter        = redirect_("Approach")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}

passline3_door2 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь Г2"
                    ,["Walk"] = _"Г2"
                    ,["Enter"] = _"Г2"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = redirect_("Approach", "passline3_door1")
  ,Enter        = redirect_("Approach", "passline3_door1")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}

passline3_door3 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь Г3"
                    ,["Walk"] = _"Г3"
                    ,["Enter"] = _"Г3"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = redirect_("Approach", "passline3_door1")
  ,Enter        = redirect_("Approach", "passline3_door1")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}

passline3_door4 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь Г4"
                    ,["Walk"] = _"Г4"
                    ,["Enter"] = _"Г4"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = redirect_("Approach", "passline3_door1")
  ,Enter        = redirect_("Approach", "passline3_door1")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}

passline3_door5 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь Г5"
                    ,["Walk"] = _"Г5"
                    ,["Enter"] = _"Г5"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = redirect_("Approach", "passline3_door1")
  ,Enter        = redirect_("Approach", "passline3_door1")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}

passline3_door6 = from_(passline_door) {
   nam          = name_ {
                     ["default"] = _"дверь Г6"
                    ,["Walk"] = _"Г6"
                    ,["Enter"] = _"Г6"
                  }
  ,Exam         = redirect_("Wait", "passline3")
  ,Approach     = redirect_("Approach", "passline3_door1")
  ,Enter        = redirect_("Approach", "passline3_door1")
  ,articles     = {
                     ["Walk"] = "в"
                    ,["Enter"] = "в"
                  }
}


---------------------------------------------------------------------------------------------------
--locker
---------------------------------------------------------------------------------------------------
locker = outscene {
   _talk        = 0
  ,_topic       = 0
  ,_last        = false
  ,_block       = false
  ,enter        = playonce_("exclaim")
  ,obj          = {
                     "locker_start"
                    ,"locker_itself"
                    ,"locker_recall"
                    ,"locker_door"
                    ,"locker_desk"
                    ,"locker_lock"
                    ,"locker_walls"
                    ,"locker_lamps"
                    ,"locker_tablo"
                    ,"locker_chair"
                    ,"locker_box"
                    ,"locker_cube"
                    ,"locker_cup"
                    ,"locker_computer"
                    ,"locker_keyboard"
                    ,"locker_taketazer"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,tais0        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- На выход! -- говорит Таис и взмахивает тазером.^
                            -- Что, поменялись ролями? -- говорю я и с показной небрежностью отряхаю колени от пыли.^
                            -- На выход, кому сказала! -- кричит Таис. -- Или я поджарю тебя прямо здесь!^
                            -- А зачем мне идти? -- спрашиваю я. -- Что меня ждёт там? Комната с инъекцией?^
                            Таис ничего не говорит, но один мускул у неё под глазом начинает нервно вздрагивать.^
                            -- Ты ведь не соврала мне про неё? -- продолжаю я. -- Наверное, впервые за всё это время.^
                            -- Тебе ещё можно помочь, ты ещё... -- говорит Таис.^
                            -- Нет, -- перебиваю я её. -- И ты сама это знаешь. Так что, -- я поднимаю руки, -- стреляй.
                            Обратно я не пойду.^
                            -- Ладно, -- неожиданно спокойно говорит Таис, -- тогда мы просто подождем моих коллег. -- 
                            Она указывает кивком головы на стул. -- Располагайся.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Я не буду посто стоять здесь и ждать, пока меня заберут, -- говорю я.^
                            -- Ну, так сиди и жди, -- усмехается Таис. -- А что тебе ещё остается? Проход в оранжевый
                            ты сам заблокировал, а остальных кодов ты не знаешь.^
                            -- Довольна собой? -- спрашиваю я. -- Лучше уж убей меня. Это будет хотя бы... гуманнее.^
                            -- Может, и застрелю, если ты будешь меня провоцировать, -- говорит Таис. -- Хотя мне
                            почему-то кажется, что ты не торопишься на тот свет.^
                            -- Обратно я не хочу.^
                            -- Я уже устала повторять, -- вздыхает Таис. -- Ты болен, твоё сознание так долго не выдержит.
                            Единственный твой шанс -- это вернуться обратно. Ты и сам-то... -- Таис качает головой, -- твои
                            поступки, воспоминания... Всё это ненастоящее, ты пойми. Это осколки сознания тех людей, которые
                            были подключены к нейроинтерфейсу в момент аварии. Нет никакого Алексея Тихонова.]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Как бы то ни было, -- отвечаю я. -- Для меня -- это и есть реальность. Даже если оно всё
                            собрано из осколков, как ты говоришь... Что есть реальность в конце концов?^
                            -- Только давай без философии, -- Таис нетерпеливо покачивает в руке тазером. -- Как говорят,
                            первый шаг к выздоровлению -- признать, что ты болен. А ты его никак не можешь сделать.^
                            -- А Лида? -- спрашиваю я.^
                            -- Что, Лида? -- говорит Таис. -- Я вообще не представляю, откуда ты взял её. Какие-то комплексы?
                            Подружки не было? И почему она на меня похожа? Нет, есть у меня, конечно...^
                            -- Она не похожа на тебя, -- перебиваю я Таис. -- Она выглядит точно так же, как ты. А такого
                            не бывает.^
                            -- Ну, вот видишь, -- улыбается Таис, -- ты и сам подсознательно начинаешь понимать, что вся твоя
                            реальность не очень-то и реальна. Так не бывает, да. А знаешь что, -- Таис чуть отводит в сторону
                            тазер, -- попробуй вспомнить хоть чьё-нибудь лицо, кроме Лиды. Ты хоть кого-то по-настоящему
                            помнишь, кроме неё?]]
                        }
                    ,["s._talk==3"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Это не имеет значения, -- говорю я.^
                            -- Как так? -- удивляется Таис.^
                            -- Я не отрицаю, что со мной что-то случилось во время нейролинка, -- говорю я, -- но это никак
                            не исключает...^
                            -- Ах, да! -- взмахивает тазером Таис. -- Ты ведь считаешь, что мы на военной базе девятых! И они
                            тебя зомбируют.^
                            -- Необязательно на военной базе, -- отвечаю я. -- Секретная лаборатория, так ты говорила? Настолько
                            секретная, что, кроме нас, тут никого нет.^
                            Таис качает головой.^
                            -- Это классическая паранойя, -- говорит она. -- Алик сообщил о твоём побеге, всех эвакуировали.
                            Хотя... я даже угадаю, что ты сейчас ответишь. Всё это -- большой тестовый полигон, и над тобой
                            проводят очередные эксперименты. Так? Верно?]]
                        }
                    ,["s._talk==4"] =
                        [[-- Тяжело быть нормальным, когда все вокруг принимают тебя за психа, -- говорю я.^
                          -- Глубокомысленно, -- усмехается Таис.]]
                  }
  ,tais1        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Честно, не ожидал, что будет нечто подобное, -- говорю я. -- Хлипкие у вас какие-то замки.^
                            -- Никто, видно, не думал, что на них кофе будут проливать, -- недовольно говорит Таис. -- Вообще любые
                            замки блокируют двери при... вмешательстве. Так что, поздравляю, ты своего добился.^
                            -- Ладно, раз уж нам придётся задержаться тут чуть дольше, есть предложение.^
                            -- Что ещё за предложение?^
                            -- Ну, -- я развожу руками, -- я тут никуда не денусь, а ходить под прицелом, честно говоря, не очень
                            приятно. Да и у тебя рука наверняка устала.^
                            -- Что, отдать тебе тазер? -- фыркает Таис. -- Думаешь, я совсем рехнулась?^
                            -- Достаёшь обойму, оставляешь её себе, а мне -- тазер, -- предлагаю я. -- Произведём разоружение.^
                            -- Ага, -- кивает Таис, -- и ты мне этим тазером голову проломишь. Нет уж, спасибо.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Да смысл тебя трогать? Пути отсюда нет -- по крайней мере, пока ваши ребята не выломали дверь. А
                            когда это произойдёт, не так уж и важно, у кого будет тазер.^
                            -- Позволю себе не согласиться, -- говорит Таис. -- Ты весьма ясно дал понять, что возвращаться назад не
                            хочешь, а я как-то не планировала сегодня поджариться.^
                            -- Ты правда веришь, что я смогу причинить тебе вред? -- спрашиваю я.^
                            -- Верю. Ты чуть не застрелил меня несколько минут назад.^
                            -- Я бы не стал стрелять! -- с жаром говорю я. -- Только не в тебя!^
                            -- Потому что я так похожа на эту самую Лиду? Не, ты меня не убедил, -- качает головой Таис. -- Придумай
                            что-нибудь ещё.]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          music_("macros",4),
                          [[-- Ну да, ты ведь считаешь, что у меня мозги набекрень поехали, -- говорю я. -- Какой смысл вообще меня
                            слушать тогда?^
                            -- Иногда ты довольно рассудителен, -- улыбается Таис.^
                            -- Да? -- спрашиваю я. -- Ну, давай порассуждаем. Я вот, например, считаю, что нет никакого смысла
                            идти в Д2 -- что бы там на самом деле ни было.^
                            -- Правда? -- удивляется Таис. -- Ты больше не думаешь, что там прячут твою несуществующую подругу?^
                            Я мотаю головой.^
                            -- Нет. Я считаю, что Лида -- это ты.^
                            Таис с трудом сдерживает смех.^
                            -- Да, это бесспорно новый... виток... Но ты продолжай, это даже интересно. Сейчас ты, наверное, будешь
                            пытаться меня спасти.]]
                        }
                    ,["s._talk==3"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Давай я лучше попробую кое-что угадать, -- предлагаю я. -- Тебе двадцать шесть лет, ты работаешь здесь
                            недавно... Пару недель? Нет, это было бы слишком. Думаю, они без проблем могли бы тебя убедить, что ты здесь
                            два или три месяца. Возможно, полгода. Я прав?^
                            -- Полгода будет через две недели, -- говорит Таис. -- Тут ты молодец. Правда, с возрастом немного ошибся.^
                            -- Ну да, возраст можно придумать любой.^
                            -- Так что, это всё? Больше тебе нечем меня поразить? Не будет никаких особенных примет, родинок?^
                            -- Я... я не всё помню, -- говорю я. -- Многое смешалось и...^
                            -- Ну, правильно, ты же её не знаешь! -- смеётся Таис. -- Она же не существует! Что у тебя есть? Лицо? Первое 
                            лицо, которое ты в этот раз увидел? Какие-то обрывки? Сны?^
                            -- Скажи, а где ты училась? -- спрашиваю я. -- Хорошо помнишь своё детство? Летала на кораблях когда-нибудь?^
                            -- Я всё прекрасно помню, -- как-то резко отвечает Таис. -- И да, на кораблях я летала. Это всё?^
                            -- Как-то ты нервничаешь, -- примирительно говорю я. -- Возможен, конечно, и другой вариант. Ты во всём
                            права, никакой Лиды нет, а у меня мозги спеклись из-за ошибки в нейролинке. Но тогда ты могла бы мне помочь.^
                            -- Каким образом? -- спрашивает Таис.]]
                        }
                    ,["s._talk==4"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Очень просто, -- говорю я. -- Мне нужно что-нибудь, чему я мог бы поверить. Например, список экипажа
                            "Ахилла", в котором не было бы ни Лиды, ни меня, то есть не было бы Алексея Тихонова.^
                            -- И ты поверишь? -- щурит глаза Таис. -- Или опять начнётся песня, что всё подделано и кругом враги?^
                            -- Ну, почему... -- возражаю я, -- стандартной полётной форме с сертификатом я поверю. Можно, конечно,
                            подделать и её, но я сомневаюсь, что такую подделку стали бы готовить впрок.^
                            -- Это хорошая идея, -- вздыхает Таис. -- Я это обязательно передам кому нужно. Только сейчас, к сожалению,
                            я тебе такой список показать не смогу. У меня его просто нет.^
                            -- Но может быть есть что-то ещё? -- не собираюсь сдаваться я.^
                            -- Например, что?]]
                        }
                    ,["s._talk==5"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Даже не знаю, -- говорю я. -- Всё, что угодно. Я мог бы посмотреть на компьютере, если ты не против. Вдруг
                            что-нибудь попадётся. У тебя ведь есть учётная запись, под которой можно зайти?^
                            Таис смотрит на меня, сощурившись, покачивая тазером в руке.^
                            -- Меня уволят, если узнают, -- говорит, наконец, она.^
                            -- Но тебе ведь самой интересно? -- спрашиваю я. -- Вдруг я действительно найду что-нибудь?^
                            -- Не уверена. Проще немного подождать, а потом показать тебе этот твой сертифицированный список.^
                            -- Проще, да, -- соглашаюсь я. -- Если только он действительно существует и его действительно мне покажут...^
                            -- Только не начинай... -- морщится Таис.^
                            -- Всё может оказаться и куда банальнее, -- говорю я. -- Например, твоё начальство решит, что подобная терапия мне
                            не поможет.^
                            Таис молчит.]]
                        }
                    ,["s._talk==6"] =
                        chain_ {
                          inc_("s._talk"),
                          set_("locker_computer._done"),
                          set_("locker_computer._on"),
                          music_("macros",2),
                          [[-- Ну, так что? -- нетерпеливо спрашиваю я.^
                            -- Ладно, -- Таис подходит к компьютеру, включает монитор и быстро набирает что-то на клавиатуре одной рукой 
                            вслепую, продолжая неотрывно смотреть на меня.^
                            -- Неплохо печатаешь, -- говорю я.^
                            -- Ага, -- Таис отходит от компьютера. -- Давай, ищи свои улики. Надеюсь, меня всё-таки не уволят за это.]]
                        }
                    ,["s._talk==7"] = [[-- Ну как, нашёл что-нибудь? -- спрашивает Таис.]]
                  }
  ,tais2        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ну, как? -- спрашивает Таис. -- Нашёл что-нибудь?^
                            -- Не уверен, -- отвечаю я. -- Мне кажется, что нет.^
                            Таис качает головой.^
                            -- А на что ты вообще рассчитывал? Если я и правда твоя загипнотизированная Лидия, то неужели они дали бы мне
                            доступ к тому, что могло бы всё разоблачить?^
                            -- Я понимаю, -- вздыхаю я, -- но, возможно, какие-то намеки, следы. Хоть что-нибудь...^
                            -- Знаешь, -- говорит Таис, -- мне на самом деле жаль тебя, но, боюсь, сейчас я ничего сделать для тебя не смогу.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Скажи, а ты ведь уже знаешь меня какое-то время, да? -- спрашиваю я. -- Общалась со мной раньше?^
                            -- Раньше? -- не понимает Таис.^
                            -- Ну, ты же говорила, что я периодически перезагружаюсь и ничего потом не помню.^
                            -- А, -- кивает Таис. -- Ну да. А что?^
                            -- Ты была так удивлена, когда я впервые назвал тебя Лидой...^
                            -- Раньше Лидии не было, -- говорит Таис. -- Она появилась только сейчас. В этот раз вообще всё по-другому.^
                            -- В смысле?^
                            Таис покачивает головой, пытаясь подобрать слова.^
                            -- Раньше ты был менее... -- говорит она, -- менее коммуникабелен. Как ребёнок. Не в смысле, что ты считал себя
                            ребёнком, но демонстрируемый уровень развития...^
                            Таис вдруг вздрагивает и прикладывает палец к уху. Передатчик! Я совсем забыл о нём!^
                            Лицо Таис становится испуганным, она глубоко вздыхает.^
                            -- Нет, всё под контролем, -- начинает тараторить она. -- Он не представляет опасности. Оружие у меня. Я смогла
                            его обезоружить. Да, мы в Г1, там замок...]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          music_("stabat",0),
                          [[-- Ну что ж, -- говорит Таис, -- думаю, наше маленькое приключение подходит к концу. Через пару минут они откроют
                            дверь.^
                            Я не знаю, что сказать.^
                            -- Я постараюсь добыть для тебя список экипажа, -- говорит Таис. -- Правда. Я займусь этим, как только...^
                            Раздаётся глухой тяжёлый удар, который разносится по стенам комнаты. Таис вздрагивает и смотрит на дверь.^
                            -- А почему ты меня спрашивал о том, как было раньше? -- говорит она. -- Ты всё-таки нашёл что-то?^
                            В заблокированную дверь снова бьют чем-то тяжёлым.^
                            -- Я нашёл документы, -- говорю я. -- О проекте Б2. Этот проект, видимо, и есть я. И по этим документам тебя
                            назначили на этот проект десять дней назад. Ты просто не могла меня знать раньше.^
                            Таис молчит и недоверчиво смотрит на меня.]]
                        }
                    ,["s._talk==3"] =
                        chain_ {
                          inc_("s._talk"),
                          set_("s._last"),
                          [[-- Это какая-то ошибка, -- говорит, наконец, Таис. -- Перепутали что-нибудь. Бывает.^
                            -- Мелочь, да, -- соглашаюсь я. -- Но, как ты и говорила, вряд ли стоило рассчитывать на большее...^
                            -- Ты что-то путаешь! -- качает головой Таис и подходит к компьютеру.^
                            Раздаётся ещё один удар.^
                            -- Времени нет! -- кричу я. -- Дай мне шанс, Лида!^
                            -- Не называй меня так! -- отрезает Таис.^
                            -- Дай мне шанс, -- повторяю я. -- Мы ещё можем изменить что-то!^
                            -- А что ты теперь-то хочешь? -- поворачивается ко мне Таис. -- Через несколько секунд они будут здесь.]]
                        }
                    ,["s._talk==4"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Отдай мне тазер, -- говорю я. -- Я сделаю вид, что взял тебя в заложницы, и мы доберемся до Д2.^
                            -- Ты совершенно сошёл с ума! -- качает головой Таис. -- К тому же десять минут назад ты говорил, что в Д2
                            уже не хочешь.^
                            -- Ты мне тоже много чего рассказывала про Д2, но это оказалось не совсем правдой.^
                            -- Не стоило пускать тебя к компьютеру, -- вздыхает Таис.^
                            Её заглушает резкий отрывистый удар в дверь -- теперь уже с металлическим звоном.^
                            -- Слушай! -- кричу я, не решаясь назвать её имя -- настоящее имя. -- Если у тебя нет хотя бы малейшего
                            сомнения, то не делай ничего. Но если...^
                            Таис смотрит на меня. Её глаза становятся влажными, как во время лихорадки. Она быстро вытаскивает из тазера
                            обойму, прячет её в карман и кидает мне сам тазер. Потом встаёт между мной и дверью.^
                            -- Что ж, пустой тазер... -- начинаю я.^
                            -- Да, безумие заразительно, -- грустно говорит Таис. -- На самом деле я уверена, что ты не прав. В Д2 сейчас
                            женщина с "Ахилла". У неё дела обстоят куда хуже, чем у тебя. Я с ней не работала, но... на меня она точно
                            не похожа.]]
                        }
                    ,["s._talk==5"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Но зачем же тогда... -- не понимаю я.^
                            Таис поворачивается ко мне.^
                            -- Я уверена, что ты не прав, -- повторяет она, -- но есть и ещё кое-что. Я верю, что тебе это поможет. Но
                            тазер, извини, будет незаряжен. Я себе не прощу, если кто-нибудь пострадает.^
                            -- Хорошо, -- соглашаюсь я. -- Мы пойдем в Д2, я увижу, что во всём заблуждаюсь и после этого добровольно
                            вернусь в камеру.^
                            -- Обещаешь? -- улыбается Таис.]]
                        }
                    ,["s._talk==6"] =
                        chain_ {
                          drop_("tazer2"),
                          take_("tazer3"),
                          inc_("tais3._state"),
                          walk_("locker2")
                        }
                  }
  ,before_Default=function(s,v,o)
                    if s._topic == 0 and s._talk == 1 then
                      playonce_("macros",3)();
                    end
                    if v ~= "Talk" and s._topic == 0 and s._talk == 0 then
                      return [[Сейчас мне не до этого. Таис целится в меня из тазера.]];
                    elseif locker._block and v ~= "Pure" and v ~= "Exam" then
                      return walk_("gameover",
                        [[Я не успеваю закоротить замок, и Таис заставляет меня отойти от двери. Она наводит на меня дуло тазера, и я
                          подчиняюсь. Что ж, теперь у меня осталось совсем немного времени. Вскоре группа захвата будет уже здесь. Вряд
                          ли я успею во всём разобраться.]])();
                    elseif v ~= "Talk" and v~="Reply" and v~="Listen" and s._last then
                      return [[У меня нет времени на это! В любую секунду сюда могут ворваться.]];
                    end
                  end
  ,Wait         = [[Да, теперь мне ничего другого не остается.]]
  ,TurnAround   = [[Мы с Таис одни в комнате.]]
  ,threat       = concat_ { [[Это просто смешно.]] }
}

locker_taketazer = item {
   nam          = _"тазер"
  ,TakeForce    = [[Сомневаюсь, что смогу так просто её обезоружить.]]
  ,cnd          = not_("have(tazer3)")
}

locker_recall = item {
   nam          = _"лица знакомых"
  ,Think        = [[Я сосредотачиваюсь, но действительно не могу воссоздать в памяти ни одно лицо. Виктор... Как он выглядел?
                    Или профессор Соколовский. Я помню его слегка помятый костюм, седые волосы, но... Нет, я сейчас не в том
                    состоянии, чтобы предаваться воспоминаниям.]]
  ,Invent       = "Нет, этого я как раз не собираюсь делать."
  ,Recall       = redirect_("Think")
  ,cnd          = if_("locker._talk==3 and locker._topic==0")
}:like(pThink)

locker_start = rooms.event
  [[-- Лида! -- кричу я; рука у меня начинает дрожать. -- Это Лида! Вы убили её?^
    -- Лида? -- удивлённо спрашивает Таис. -- Нет, хотя... У меня, кстати, с собой её ключ-карта. Там есть фотография. Смотри.^
    Таис кидает мне что-то под ноги, я невольно бросаю взгляд вниз, отвлекаюсь на секунду, и ей этого хватает. Таис нажимает
    последнюю кнопку на панели, и дверь открывается.^
    Я бросаюсь за ней.^
    Таис быстро проскальзывает в комнату и пытается захлопнуть дверь. Я просовываю в проём ногу, и изо всех сил бью в дверь плечом.
    Но, кажется, Таис в этот момент отходит от двери -- я вваливаюсь в комнату и падаю на пол. Тазер вылетает у меня из рук.^
    Когда я поднимаюсь на ноги, то вижу Таис, которая целится в меня, обхватив тазер двумя руками.]]

locker_itself = item {
   nam          = _"комната"
  ,dsc          = choose_ {
                    ["not here()._eventOn"] = redirect_("Exam")
                  }
  ,Exam         = [[Комната похожа на небольшой рабочий кабинет, обставленный с какой-то военной минималистичностью и простотой.
                    Стены здесь белые, однако не такие химически-яркие, как в моей бывшей камере, а приглушенные, точно выцветшие
                    от времени. Здесь нет никаких картин или украшений -- лишь информационное табло неподалеку от двери. С другой
                    стороны дверного проёма разметился стальной шкаф, похожий на сейф для оружия, а рядом с ним -- маленький
                    колченогий стул из металлизированного пластика. В дальнем конце комнаты стоит обычный офисный стол.]]
  ,Walk         = [[Я задумчиво прохаживаюсь по комнате. Таис следит за мной с любопытством.]]
}:like(pRoom)

locker_door = item {
   _close       = false
  ,nam          = name_ {
                     ["default"] = _"дверь"
                    ,["Exit"] = _"коридор"
                  }
  ,Exam         = choose_ {
                     ["default"] =
                        [[Эта дверь ведёт в коридор, сейчас она открыта -- на табло электрического замка горит зелёный индикатор.^
                          -- Э, отойди-ка от двери, -- говорит Лида и взмахивает тазером.]]
                    ,["s._close"] =
                        [[Кофе закоротило замок, и сейчас дверь заблокирована. Думаю, открыть её не получится даже с другой стороны.
                          Придётся взламывать.]]
                  }
  ,Open         = choose_ {
                     ["default"] =
                        [[Я осторожно подхожу к двери.^
                          -- Ну, и куда ты собрался? -- спрашивает Таис, прицеливаясь в меня из тазера.]]
                    ,["s._close"] = [[Дверь заблокирована, мы заперты в этой комнате.]]
                  }
  ,Close        = choose_ {
                     ["default"] = [[Я не знаю код замка, да и Таис всё равно не позволила бы мне его ввести.]]
                    ,["s._close"] = [[Замок обесточен, да и дверь уже и так заблокирована.]]
                  }
  ,Move         = redirect_("Open")
  ,Approach     = redirect_("Open")
  ,Exit         = redirect_("Open")
  ,Ascend       = [[Как-то у меня нет желания забираться на дверь.]]
  ,Wreck        = [[Такую дверь я при всём желании не смогу выломать.]]
  ,withPure     = true
  ,withThrow    = true
  ,articles     = {
                    ["Exit"] = "в"
                  }
}:like(pDoor)

locker_lock = item {
   nam          = name_ {
                     ["default"] = _"замок"
                    ,["Pure"] = _"микросхема замка"
                    ,["TakeOff"] = _"корпус замка"
                    ,["TearOff"] = _"корпус замка"
                  }
  ,Exam         = choose_ {
                     ["default"] =
                        choose_ {
                           ["default"] =
                              [[Дверь сейчас не закрыта, и индикатор замка светится зелёным. В корпусе панели управления дверью можно
                                заметить узкую круглую прорезь -- это может быть сервисный разъём, или отверстие для ключа, с помощью
                                которого можно снять кожух. Я вдруг начинаю думать, что мог бы попробовать сорвать верхнюю панель с
                                помощью обломка антенны, который до сих пор лежит у меня в кармане. Взломать замок у меня вряд ли
                                получится -- да это и не имеет смысла, ведь дверь сейчас открыта, -- но я мог бы попробовать закоротить
                                проводку и заблокировать выход из комнаты. Так я смог бы выиграть хоть немного времени.]]
                          ,["locker._block"] =
                              [[Видно, корпус электромагнитного замка едва держался, или я так удачно попал в сочеленения металлического
                                кожуха антенной -- но в любом случае моё маленькое вредительство увенчалось успехом. Верхняя панель 
                                замка откинулась вниз, оголив провода и микросхему.]]
                        }
                    ,["locker_door._close"] = 
                        [[Кажется, холодный кофе серьёзно повредил замку -- табло не горит, а по краям корпуса можно заметить чёрные
                          подпалины.]]
                  }
  ,Open         = choose_ {
                     ["default"] = 
                        use_ {
                           ["default"] = [[Нет, так у меня ничего получится.]]
                          ,["antenna2"] =
                              choose_ {
                                 ["default"] =
                                    [[Даже если Таис не выстрелит, времени у меня явно будет немного. Надо подготовиться заранее,
                                      придумать, как закоротить замок.]]
                                ,["have(locker_cup)"] =
                                    choose_ {
                                       ["default"] =
                                          [[Я расхаживаю по комнате с чашкой в руке, делая вид, что мне нечем заняться. Потом как бы невзначай
                                            останавливаюсь рядом с дверью и поворачиваюсь к панели управления.^
                                            -- Отойди-ка! -- говорит Таис. -- Повторять не буду!^
                                             Нет, так у меня ничего не получится. Надо попробовать как-нибудь отвлечь её внимание.^
                                             Я замечаю информационное табло, которое висит с другой стороны двери.]]
                                      ,["locker_tablo._on"] =
                                          chain_ {
                                            set_("locker._block"),
                                            drop_("antenna2"),
                                            [[Я подхожу к двери с чашкой в руке, делая вид, что просто прогуливаюсь ко комнате. Таис продолжает
                                              следить за мной, хотя уже явно не ждёт от меня никаких выходок.^
                                              -- Так, а это интересно. Заработало всё-таки! -- говорю я, уставившись на информационное табло.^
                                              Таис бросает взгляд на стену, и в эту же секунду я с хрустом вонзаю антенну в прорезь на кожухе
                                              электронной панели и со всей силы дёргаю её на себя.^
                                              Панель отваливается, передо мной оказывается открытая микросхема замка.^
                                              -- А ну-ка отошёл! -- кричит Таис и целится в меня из тазера. -- Быстро! Я буду стрелять!]]
                                          }
                                    }
                              }
                        }
                    ,["locker_door._close"] = 
                        [[Дверь уже заблокирована, я своего добился. Вот только поможет ли мне это на самом деле?]]
                  } 
  ,Crack        = redirect_("Open")
  ,Wreck        = redirect_("Open")
  ,Take         = [[Не представляю, как это можно сделать.]]
  ,TurnOn       = [[Здесь нет управления питанием замка.]]
  ,spec         = choose_ {
                     ["default"] = [[Думаю, я действительно мог бы снять корпус и открыть микросхему, однако голыми руками этого не сделать.]]
                    ,["locker_door._close"] = [[Я уже сорвал корпус с замка.]]
                  }
  ,TakeOff      = use_ {
                     ["default"] = "Не представляю, как это сделать."
                    ,["nil"] = redirect_("spec")
                    ,["locker_walls"] = redirect_("spec")
                  }
  ,TearOff      = redirect_("TakeOff")
  ,TurnOff      = redirect_("TurnOn")
  ,Activate     = redirect_("TurnOn")
  ,articles     = {
                    ["Pure"] = "на"
                  }
  ,withPure     = true
}:like(pHang)

locker_walls = item {
   _exam        = false
  ,nam          = name_ {
                     ["default"] = _"стены"
                    ,["TakeOff"] = _"стена"
                    ,["TearOff"] = _"стена"
                  }
  ,Exam         = chain_ {
                    set_("s._exam"),
                    [[По крайней мере, эти пустые белые стены не источают ровный и мертвенный свет, как в моей камере. В кабинете
                      даже немного сумрачно -- потолочные лампы горят вполсилы.]]
                  }
  ,Approach     = [[Стены абсолютно ровные и холодные. Когда я касаюсь их ладонью, мне кажется, что я чувствую легкую утробную
                    вибрацию, как если бы внутри стен проходили воздушные тракты, и работал генератор кислорода. Однако я не уверен.]]
  ,Open         = [[Сомневаюсь, что здесь есть какой-нибудь секретный проход или что-то в этом роде.]]
  ,Move         = redirect_("Open")
  ,Wreck        = [[Не надо сходить с ума.]]
  ,Ascend       = redirect_("Wreck")
  ,articles     = {
                    ["Ascend"] = "на"
                  }
  ,withThrow    = true
  ,withPure     = true
}:like(pWall)

locker_lamps = item {
   nam          = _"лампы"
  ,Exam         = [[Можно подумать, что здесь и правда экономят на электричестве.]]
  ,Approach     = [[Лампы вообще-то на потолке.]]
  ,TurnOn       = [[Лампы и так горят, и мне бы совсем не хотелось, чтобы они светили ярче.]]
  ,Activate     = redirect_("TurnOn")
  ,TurnOff      = [[Я нигде не вижу выключателя -- кажется, во всем этом комплексе свет управляется централизованно. Как на космических
                    кораблях.]]
  ,Wreck        = [[Не вижу смысла разбивать потолочные лампы.]]
  ,cnd          = if_("locker_walls._exam")
  ,withThrow    = true
}:like(pBuild)

locker_tablo = item {
   _on          = false
  ,_done        = false
  ,nam          = _"информационное табло"
  ,Exam         = choose_ {
                     ["default"] = [[Табло сейчас отключено.]]
                    ,["s._on"] = 
                        [[Судя по всему, табло не подключено к сети. По экрану переливаются яркие раздражающие цветные кляксы,
                          однако на нажатия сам экран никак не реагирует. Вряд ли у меня получится что-нибудь узнать с помощью этого терминала.]]
                  }
  ,TurnOff      = choose_ {
                     ["default"] = [[Табло и так не работает.]]
                    ,["s._on"] =
                        chain_ {
                          unset_("s._on"),
                          [[Я нажимаю на кнопку на торце информационной панели, и залитый яркими цветами экран гаснет.]]
                        }
                  }
  ,Close        = redirect_("TurnOff")
  ,TurnOn       = choose_ {
                     ["default"] = [[Табло и так работает.]]
                    ,["not s._on and s._done"] =
                        chain_ {
                          set_("s._on"),
                          [[Я касаюсь кнопки с краю панели, и экран загорается.]]
                        }
                    ,["not s._on and not s._done"] =
                        chain_ {
                          set_("s._on"),
                          set_("s._done"),
                          [[-- Ты что задумал? -- спрашивает Таис.^
                            -- Просто хотел включить экран, -- отвечаю я. -- Боишься, что я узнаю что-нибудь лишнее?^
                            -- А, точно. У нас же весь день по информационным терминалам секретную информацию передают. Как я забыла.^
                            -- Значит, ты не против? -- уточняю я.^
                            -- Да ради Бога!^
                            Я провожу рукой по торцам панели в поисках кнопки. Наконец, я нащупываю тонкий продолговатый переключатель
                            и нажимаю на него ногтём. Экран загорается.]]
                        }
                  }
  ,Activate     = redirect_("TurnOn")
  ,Open         = redirect_("TurnOn")
  ,Approach     = redirect_("Exam")
  ,Move         = [[Табло намертво прикручено к стене и снять его не получится. Да и зачем это делать?]]
  ,Take         = redirect_("Move")
  ,Wreck        = [[Толку от этого не будет.]]
  ,withPure     = true
}:like(pHang)

locker_chair = item {
   _move        = false
  ,nam          = _"стул"
  ,Exam         = [[Небольшой и лёгкий стул из металлизированного пластика с жёсткой подушкой и спинкой -- такой могли произвести
                    где угодно.]]
  ,Take         = [[Лучше я не буду поднимать стул -- а то ещё Таис подумает, что я решил напасть на неё.]]
  ,TakeFrom     = use_ {
                     ["default"] = "Не представляю, как это сделать."
                    ,["nil"] = redirect_("Take")
                    ,["cmn_floor"] = redirect_("Take")
                  }
  ,Move         = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._move"),
                          [[Я переставляю стул к противоположной стене. Таис смотрит на меня с любопытством, но ничего не говорит.]]
                        }
                    ,["s._move"] =
                        chain_ {
                          unset_("s._move"),
                          [[Я возвращаю стул на место.]]
                        }
                  }
  ,Approach     = redirect_("Exam")
  ,Wreck        = [[Стул из металлизированного пластика не так-то просто сломать, да и смысла в этом немного.]]
  ,Lie          = [[Улечься на таком стуле не получится.]]
  ,Sit          = [[Я присаживаюсь на стул, Таис смотрит на меня и как-то странно улыбается. Я встаю. Просто сидеть здесь и бездействовать
                    мне совершенно не хочется.]]
  ,withPut      = true
  ,articles     = {
                    ["Put"] = "на"
                  }
}:like(pChair)

locker_box = item {
   _open        = false
  ,_exam        = false
  ,nam          = _"шкаф"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Шкаф точно такой же, как в наблюдательной комнатке рядом с моей камерой, и точно так же закрыт на
                          электромагнитный замок с ярким маленьким индикатором.]]
                    ,["s._open"] =
                        chain_ {
                          set_("s._exam"),
                          [[В шкафу почти ничего нет -- я вижу ровные ряды пустых полок. Только на самом верху можно заменить какой-то
                            тёмно-серый куб.]]
                        }
                  }
  ,Open         = choose_ {
                     ["default"] =
                        use_ {
                           ["nil"] = [[Взломать такой замок голыми руками у меня не получится.]]
                          ,["default"] = [[Вряд ли что-нибудь выйдет.]]
                          ,["keycard"] =
                              chain_ {
                                set_("s._open"),
                                [[Я небрежно взмахиваю ключ-картой рядом со шкафом, ни на что особенно не надеясь, но к моему удивлению
                                  где-то в механизме дверей раздаётся резкий характерный щелчок, а индикатор электромагнитного замка
                                  загорается зелёным.^
                                  -- Что? Откуда у тебя... -- начинает Таис, но потом, видно, вспоминает.^
                                  -- Странно, что карта подошла, -- говорю я. -- У вас что, все замки одинаково закодированы?^
                                  Таис молчит.]]
                              }
                        }
                    ,["s._open"] = [[Шкаф сейчас не закрыт.]]
                  }
  ,Crack        = redirect_("Open")
  ,Close        = choose_ {
                     ["default"] = [[Шкаф и так закрыт.]]
                    ,["s._open"] = [[Не вижу смысла снова закрывать шкаф.]]
                  }
  ,Move         = [[Вряд ли у меня получится сдвинуть его хоть на сантиметр.]]
  ,Approach     = redirect_("Exam")
  ,Wreck        = [[И почему мне всё вокруг хочется сломать?]]
  ,Ascend       = [[Я не собираюсь забираться на шкаф.]]
  ,withPut      = true
  ,withThrow    = true
  ,withPutAway  = true
  ,withPutIn    = true
  ,withTakeFrom = true
  ,articles     = {
                     ["Put"] = "в"
                    ,["PutIn"] = "в"
                    ,["PutAway"] = "в"
                    ,["Throw"] = "в"
                    ,["Ascend"] = "на"
                    ,["TakeFrom"]= "из"
                  }
}:like(pBuild)

locker_cube = item {
   _exam        = false
  ,nam          = _"куб"
  ,Exam         = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._exam"),
                          unlock_("cube"),
                          [[Я беру с полки куб и несколько секунд верчу его в руках. Эта непонятная штуковина мне о чём-то напоминает.
                            Я думаю об издевательских тестах, которые устраивали надо мной в камере, о пластиковых геометрических
                            фигурках, но потом вспоминаю о Лиде и в этот же момент замираю от удивления -- меня словно бьёт разрядом в 
                            восемьдесят тысяч вольт.^
                            Придя в себя, я медленно поворачиваю верхнюю часть куба, и передо мной расцветают яркие эллипсы галактик,
                            мягкие, словно тающие огни, звёзды, разноцветные облака газовых туманностей. Модель вселенной в геометрии
                            Раймана. Такая когда-то была у Лиды.^
                            -- Что это? -- спрашиваю я, поворачиваясь к Таис.^
                            -- Да просто игрушка, -- неуверенно отвечает Таис. -- Безделушка.^
                            -- Но... откуда она здесь?^
                            -- Да она всегда тут лежала в шкафу. Может, забыл кто.^
                            Я недоверчиво смотрю на Таис.^
                            -- Подожди-ка, -- говорю я, -- а откуда ты...^
                            Таис невольно отводит от меня глаза.^
                            -- Это твой кабинет! -- почти выкрикиваю я. -- Вот почему карточка подошла!^
                            -- Ну, хорошо, -- вздыхает Таис. -- Мой кабинет. Это что-то меняет? Тазер по-прежнему у меня.^
                            Я ещё несколько секунд смотрю на голограмму, а потом отключаю куб и кладу его обратно на верхнюю полку.]]
                        }
                    ,["s._exam"] = [[Это голографическая модель вселенной в геометрии Раймана, точно такая же была у Лиды, как я помню.]]
                  }
  ,Take         = choose_ {
                     ["default"] = redirect_("Exam")
                    ,["s._exam"] = [[Нет, мне почему-то совершенно не хочется брать с собой этот куб. Я как будто даже боюсь его.]]
                  }
  ,TakeFrom     = use_ {
                     ["default"] = "Не представляю, как это сделать."
                    ,["nil"] = redirect_("Take")
                    ,["locker_box"] = redirect_("Take")
                  }
  ,Move         = [[Я двигаю куб с места на место, сам не понимая, зачем.]]
  ,Wreck        = [[Лучше я просто оставлю эту игрушку в покое.]]
  ,cnd          = if_("locker_box._exam")
}:like(pItem)

locker_desk = item {
   _exam        = false
  ,_sit         = false
  ,nam          =_"стол"
  ,Exam         = choose_ {
                     ["default"] =
                        chain_ {
                          set_("s._exam"),
                          [[На столе стоит широкий плоский монитор, большая клавиатура с механическими клавишами и чашка с кофе.
                          Больше здесь ничего нет -- никаких личных вещей, -- как будто местным сотрудникам запрещают обставлять
                          рабочие места.]]
                        }
                    ,["have(locker_cup)"] =
                        [[На столе стоит широкий плоский монитор и большая клавиатура с механическими клавишами. Больше здесь
                          ничего нет -- никаких личных вещей, -- как будто местным сотрудникам запрещают обставлять рабочие места.]]
                  }
  ,Approach     = redirect_("Exam")
  ,Wreck        = [[Не думаю, что это хорошая идея.]]
  ,Ascend       = [[Честно говоря, у меня совершенно нет желания забираться на стол.]]
  ,Move         = [[Стол довольно тяжёлый на вид, передвигать его по комнате будет непросто. К тому же сейчас мне это мало чем поможет.]]
  ,Open         = [[У стола нет никаких ящиков -- ничего, что можно было бы открыть или закрыть.]]
  ,Close        = redirect_("Open")
  ,Sit          = choose_ {
                     ["default"] =
                        [[-- Ты знаешь, -- говорит Таис, -- мне было бы спокойнее, если бы ты отошёл от стола.^
                          Мне ничего не остается как подчиниться.]]
                    ,["locker_computer._done"] =
                        chain_ {
                          set_("s._sit"),
                          [[Я ненадолго присаживаюсь за компьютерный стол.]]
                        }
                  }
  ,Stand        = choose_ {
                     ["default"] = [[Я не сижу за столом.]]
                    ,["s._sit"] = [[Я уже встал из-за стола.]]
                  }
}:like(pTable)

locker_cup = item {
   nam          = name_ {
                     ["default"] = _"чашка с кофе"
                    ,["Drink"] = _"кофе"
                    ,["Pure"] = _"кофе"
                  }
  ,Exam         = [[Большая чашка, похожая на керамическую, которая почти до верху заполнена холодным чёрным кофе.]]
  ,Take         = choose_ {
                     ["default"] = takeit_ [[Я поднимаю со стола чашку с кофе.]]
                    ,["have(locker_cup)"] = [[Чашка уже у меня.]]
                  }
  ,Put          = use_ {
                     ["cmn_floor"] =
                        chain_ {
                          dropself,
                          putself_("locker"),
                          [[Я уже собираюсь поставить чашку прямо себе под ноги, на пол, но потом решаю, что лучше всё-таки вернуть её
                            обратно на стол.]]
                        }
                    ,["locker_chair"] =
                        [[Я ставлю чашку на стул. Таис смотрит на меня, нахмурившись. Немного подумав, я поднимаю чашку.]]
                    ,["locker_desk"] =
                        chain_ {
                          dropself,
                          putself_("locker"),
                          [[Я cтавлю чашку обратно на стол.]]
                        }
                    ,["default"] = 
                        [[Не думаю, что имеет смысл это делать. Может, стоит просто вернуть чашку обратно на стол. Если у меня не получается
                          придумать, как её использовать.]]
                  }
  ,Throw        = use_ {
                     ["default"] = [[Не думаю, что мне стоит устраивать истерику и бросаться посудой.]]
                    ,["cmn_floor"] = redirect_("Put")
                    ,["locker_desk"] = redirect_("Put")
                    ,["locker_chair"] = redirect_("Put")
                    ,["tais3"] =
                        [[Вряд ли у меня получится использовать чашку с кофе как оружие. Сам кофе давно остыл. Да и пока я буду размахиваться,
                          Таис успеет выстрелить. Надо придумать что-нибудь другое.]]
                  }
  ,PutAway      = redirect_("Put")
  ,PutIn        = redirect_("Put")
  ,Pure         = use_ {
                     ["default"] = [[Не думаю, что от этого будет какая-то польза.]]
                    ,["locker_lock"] =
                        choose_ {
                           ["default"] = "Идея неплохая, так можно было бы заблокировать дверь, но у замка есть защитный кожух."
                          ,["locker._block"] = 
                              chain_ {
                                set_("locker_door._close"),
                                dropself,
                                inctopic,
                                unset_("locker._block"),
                                music_("droplet"),
                                [[-- Если хочешь стрелять, то стреляй, -- спокойно говорю я и выливаю содержимое чашки на микросхему.^
                                  Раздаётся змеиное шипение тазера. Я вздрагиваю, и электроды бьют в дверь всего лишь в нескольких сантиметрах
                                  от меня. В этот же момент микросхема панели управления начинает искрить, экранчик замка на мгновение вспыхивает красным и
                                  тут же гаснет.^
                                  Я поворачиваюсь к Таис.^
                                  Она смотрит на меня с ненавистью, сжимая обеими руками тазер.^
                                  -- Надеюсь, ты промахнулась специально. -- Я стараюсь говорить как можно спокойнее, но у меня это не очень-то
                                  получается.^
                                  -- Какого чёрта! -- кричит Таис. -- Что ты сделал? Мы теперь здесь заперты!^
                                  -- Проведём чуть больше времени вместе, -- говорю я, -- побеседуем. Куда нам торопиться? Я, например,
                                  не рвусь обратно в камеру.^
                                  -- Это ничего не меняет, -- говорит Таис. -- Они скоро взломают дверь.^
                                  -- Тогда тебе вообще не о чем волноваться, -- примирительно говорю я.]]
                              }
                        }
                    ,["tais3"] = [[Облить Таис холодным кофе? Не думаю, что это поможет.]]
                    ,["locker_desk"] = [[Честно говоря, не очень хочется разливать кофе на столе. Мне от этого точно никакой пользы не будет.]]
                    ,["locker_chair"] = [[Вылить кофе на стул? Зачем бы я стал делать это?]]
                    ,["locker_keyboard"] = 
                        [[Этим я ничего не добьюсь, только испорчу клавиатуру -- да и то не факт. Некоторые экземпляры без проблем выдерживают
                          знакомство с кофе.]]
                    ,["locker_computer"] = [[Думаю, от компьютера будет больше пользы, если не заливать его кофе.]]
                  }
  ,Give         = use_ {
                     ["default"] = [[Это не имеет смысла.]]
                    ,["tais3"] =
                        [[-- Кофе? -- говорю я и протягиваю Таис чашку.^
                          Девушка беззвучно смеётся.^
                          -- Что, хочешь поменять кофе на тазер? -- спрашивает она. -- Боюсь, вынуждена ответить отказом.]]
                  }
  ,TakeFrom     = use_ {
                     ["default"] = "Не представляю, как это сделать."
                    ,["nil"] = redirect_("Take")
                    ,["locker_desk"] = redirect_("Take")
                  }
  ,Fetch        = redirect_("Give")
  ,Drink        = [[Кофе совсем остыл, пить его как-то не хочется.]]
  ,Wreck        = [[Мне кажется, можно найти лучшее применение чашке.]]
  ,cnd          = if_("locker_desk._exam")
}:like(pItem)

locker_computer = item {
   _on          = false
  ,_done        = false
  ,nam          = _"монитор|компьютер"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Широкоформатный монитор со встроенным вычислительным модулем. На первый взгляд, ничего интересного. Стандартный компьютер,
                          такой можно увидеть практически где угодно -- правда ни с лицевой, ни с тыльной стороны монитора нет никаких логотипов
                          и обозначений, как будто компьютер сделан на заказ, и с него специально удалена вся символика производителя. Компьютер
                          сейчас отключён.]]
                    ,["s._on"] = walk_("computeros1")
                  }
  ,TurnOn       = choose_ {
                     ["s._on"] = [[Компьютер уже включен.]]
                    ,["not s._on and not s._done"] =
                        [[Я уже протягиваю руку, чтобы включить монитор, но Таис останавливает меня.^
                          -- Что это ты собрался делать? -- спрашивает она.^
                          -- Да так, хотел с компьютером поиграться, -- отвечаю я. -- А то скучно ждать как-то, пока твои припожалуют.^
                          -- Отойди-ка, -- говорит Таис и целится в меня из тазера.^
                          -- Хорошо-хорошо, -- примирительно отвечаю я. -- Не сильно-то и хотелось.]]
                    ,["not s._on and s._done"] =
                        chain_ {
                          set_("s._on"),
                          [[Я нажимаю на кнопку на мониторе, и экран заливается светом.]]
                        }
                  }
  ,TurnOff      = choose_ {
                     ["default"] = [[Компьютер и так не работает.]]
                    ,["s._on"] =
                        chain_ {
                          unset_("s._on"),
                          [[Я касаюсь кнопки на мониторе, и экран гаснет.]]
                        }
                  }
  ,Ascend       = [[Нет, с ума я сходить пока не собираюсь.]]
  ,Approach     = redirect_("Exam")
  ,Search       = redirect_("Exam")
  ,Activate     = redirect_("TurnOn")
  ,Close        = redirect_("TurnOff")
  ,Open         = redirect_("TurnOn")
  ,Use          = choose_ {
                     ["default"] = [[Компьютер не работает.]]
                    ,["s._on"] = redirect_("Exam")
                  }
  ,Take         = [[Не думаю, что мне стоит таскать с собой монитор.]]
  ,TakeFrom     = use_ {
                     ["default"] = "Не представляю, как это сделать."
                    ,["nil"] = redirect_("Take")
                    ,["locker_desk"] = redirect_("Take")
                  }
  ,Move         = [[Я пытаюсь сдвинуть монитор, но у меня ничего не получается -- кажется, он привинчен к столу.]]
  ,Wreck        = [[Компьютер можно использовать с большей пользой.]]
  ,withPure     = true
  ,articles     = {
                     ["Search"] = "в"
                    ,["Pure"] = "на"
                  }
  ,cnd          = if_("locker_desk._exam")
}:like(pItem)

locker_keyboard = item {
   nam          = name_ {
                     ["default"] = _"клавиатура"
                    ,["Press"] = _"кнопка на клавиатуре"
                  }
  ,Exam         = [[Обычная эргономичная клавиатура с подставками для запястьев и большими механическими клавишами. Такие клавиатуры последнее
                    время не слишком популярны. На кораблях обычно используются сенсорные, которые не так удобны, но занимают куда меньше места.]]
  ,Take         = [[Вряд ли клавиатура мне пригодится.]]
  ,Move         = [[Я немного сдвигаю клавиатуру по столу, Таис пристально смотрит на меня, но ничего не говорит.]]
  ,Press        = choose_ {
                     ["default"] = [[Компьютер сейчас отключен, и нажатие кнопок на клавиатуре ни к какому эффекту не приводит.]]
                    ,["locker_computer._on"] = redirect_("Exam", "locker_computer")
                  }
  ,Wreck        = [[Лучше я просто оставлю клавиатуру в покое.]]
  ,TakeFrom     = use_ {
                     ["default"] = "Не представляю, как это сделать."
                    ,["nil"] = redirect_("Take")
                    ,["locker_desk"] = redirect_("Take")
                  }
  ,withPure     = true
  ,articles     = {
                     ["Press"] = "на"
                    ,["Pure"] = "на"
                  }
  ,cnd          = if_("locker_desk._exam")
}:like(pItem)


---------------------------------------------------------------------------------------------------
--computeros
---------------------------------------------------------------------------------------------------
computeros1 = scene {
   obj          = {
                     "computeros1_start"
                    ,"computeros1_itself"
                    ,"computeros1_func1"
                    ,"computeros1_func2"
                  }
  ,Exit         = walk_("locker")
  ,verbs        = {
                     { "Open %2", "~открыть", verb_with_obj_inv_("вн") }
                    ,{ "Exit", "~выйти|~уйти", "{}" }
                  }
  ,norefresh    = true
}

computeros1_start = rooms.event
  [[Мне незнакома эта операционная система. Интерфейс главного экрана минималистичный и необычно контрастный, точно рассчитан
    на людей с плохим зрением.^^]]

computeros1_itself = rooms.dsc (
  [[Я нахожусь на стартовом экране. На чёрном фоне светятся яркие квадратные плитки, представляющие собой то ли приложения, то
    ли доступные подсистемы. Судя по всему, одна из них открывает доступ к файловой системе, а ещё одна -- к сети. Больше мне,
    пожалуй, ничего и не нужно.^^^]]
  ..
  txtr("[Я могу <i>выйти</i>, <i>открыть файловую систему</i> или <i>открыть сетевой браузер</i>]")
)

computeros1_func1 = item {
   nam          = _"файловая система"
  ,Open         = walk_("computeros2")
}

computeros1_func2 = item {
   nam          = _"сетевой браузер"
  ,Open         = walk_("computeros3")
}

computeros2 = scene {
   obj          = {
                    "computeros2_itself"
                  }
  ,Exit         = walk_("locker")
  ,Return       = walk_("computeros1")
  ,norefresh    = true
  ,verbs        = {
                     { "Return", "~вернуться", "{}" }
                    ,{ "Exit", "~выйти|~уйти", "{}" }
                  }
}

computeros2_itself = rooms.dsc (
  [[Я пытаюсь искать файлы на этом компьютере, указываю в маске имя Лиды, название своего корабля -- однако найти ничего не могу.
    Вряд ли в файловой системе есть хоть что-то интересное.^^^]]
  ..
  txtr("[Я могу <i>вернуться</i> на главный экран]")
)

computeros3 = scene {
   enter        = choose_ {
                     ["locker._topic~=2"] = inctopic_("locker")
                  }
  ,obj          = {
                     "computeros3_itself"
                    ,"computeros3_start"
                    ,"computeros3_breaks"
                    ,"computeros3_ui"
                  }
  ,Exit         = walk_("locker")
  ,Return       = walk_("computeros1")
  ,norefresh    = true
  ,verbs        = {
                     { "Return", "~вернуться", "{}" }
                    ,{ "Exit", "~выйти|~уйти", "{}" }
                  }
}

computeros3_itself = rooms.dsc (
  [[Я просматриваю несколько логистических баз данных, а потом выхожу на портал с лаконичным названием "Реестр". Впрочем, пролистав
    список проектов в этом реестре, я начинаю чувствовать нервный холодок у себя на коже. Б2, Б3, Д1, Д2. Ни один из проектов не открывается --
    на экране загорается надпись "Нет доступа", -- однако я могу видеть ключевые слова для поиска, которые выводятся рядом с названиями.
    Проекты Б3 и Д1 значатся как закрытые, а напротив Б2 и Д2 стоит ключевое слово "Ахилл".]]
)

computeros3_start = rooms.event (
  [[^Что ж, значит Таис всё-таки обманула меня по поводу Д2. Хотя вряд ли я сейчас могу использовать как-то эту информацию -- по крайней мере,
    пока мы замурованы в этой тесной комнатке. Остаётся импровизировать.]]
)

computeros3_breaks = rooms.dsc
  [[^^^]]

computeros3_ui = rooms.dsc (
  txtr("[Я могу <i>вернуться</i> на главный экран]")
)


---------------------------------------------------------------------------------------------------
--locker2
---------------------------------------------------------------------------------------------------
locker2 = outscene {
   _walk        = 0
  ,enter        = chain_ {
                    set_checkpoint,
                    mute_(4000,2000),
                    timer_(6000)
                  }
  ,obj          = {
                     "locker2_start"
                    ,"alik"
                    ,"guards"
                    ,"locker2_door"
                    ,"locker2_go_coridor"
                    ,"escape_gun"
                    ,"cmn_floor"
                    ,"cmn_ceil"
                  }
  ,tais         = choose_ {
                     ["default"] =
                        [[Сейчас не время для разговоров. Надо попробовать выбраться отсюда.]]
                    ,["alik._talk==2"] =
                        chain_ {
                          inc_("alik._talk"),
                          inc_("locker2._walk"),
                          [[-- Ну, -- говорю я Таис и делаю вид, что собираюсь выстрелить из тазера ей в голову, -- извини.
                            Боюсь, живыми мы отсюда не выйдем.^
                            -- Алик, пожалуйста! -- чуть не плачет Таис.^
                            Лысый мужчина недовольно мотает головой, а потом делает какой-то неопределённый жест рукой,
                            видимо, обращаясь к охранникам в тёмно-серой форме, которые по-прежнему закрывают выход в коридор
                            и бесстрастно целятся из шоковых пистолетов то ли в меня, то ли в Таис.^
                            Люди в невзрачной униформе никак не реагируют. Алик взмахивает пистолетом и говорит:^
                            -- Ладно, пропустите!^
                            Один из тёмно-серых удивлённо оборачивается к нему.^
                            -- Но не сводите глаз, -- тут же добавляет Алик. -- Дальше Д2 они не пройдут.]]
                        }
                  }
  ,Refresh      = [[Некогда любоваться видами.]]
  ,Return       = [[Возвращаться мне уже некуда.]]
  ,Wait         = [[Нельзя терять времени!]]
  ,TurnAround   = [[За спиной никого нет.]]
  ,Exit         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("locker2._walk"),
                          [[Таис стоит прямо передо мной, загораживая меня от людей в сером. Я чуть толкаю её в спину
                            дулом тазера, и она делает шаг вперед.^
                            -- Я ни в кого не хочу стрелять! -- кричу я. -- Дайте мне пройти!^
                            Однако люди в сером не двигаются с места.^
                            -- У него тазер, тот самый, -- говорит Таис. -- Он хочет в Д2, потом он обещал сдаться.^
                            -- Мы не можем вас отпустить! -- говорит внезапно Алик.]]
                        }
                    ,["locker2._walk==1"] =
                        [[-- Ни с места! -- кричит Алик и вытягивает вперёд руку с пистолетом. -- В коридор вы не выйдете!]]
                    ,["locker2._walk==2"] = walk_("passline4")
                  }
  ,threat       = choose_{
                     ["default"] = [[Я делаю вид, что угрожаю Таис тазером.]]
                    ,["locker2._walk==1 and alik._talk==2"] =
                        use_ {
                           ["default"] = [[Простые крики и угрозы на них явно не действуют. Тут требуется что-то более весомое.]]
                          ,["tazer3"] = redirect_("tais")
                        }
                    ,["locker2._walk==1 and alik._talk<2"] =
                        use_ {
                           ["default"] = [[Думаю, лучше попробовать угрожать Таис тазером. Это будет куда более действенно.]]
                          ,["tazer3"] =
                              [[-- Я убью её! Не вынуждайте меня! -- кричу я, но тёмно-серые и Алик никак не реагируют. Как будто
                                они знают, что тазер незаряжен.]]
                        }
                  }
  ,timer        = chain_ {
                    timerstop,
                    music_("drum",2)
                  }
}

tazer3 = from_("tazer") {
   nam          = _"тазер"
  ,Exam         = [[Тазер стал заметно легче, когда Таис его разрядила. Надеюсь, со стороны не видно, что из тазера вытащили
                    картридж.]]
  ,Shoot        = [[Тазер незаряжен.]]
  ,Open         = [[Картриджа в тазере нет, лучше сейчас не афишировать это.]]
  ,Close        = [[Закрывать тут нечего.]]
  ,Put          = redirect_("Put", "tazer")
  ,Throw        = redirect_("Throw", "tazer")
  ,Give         = choose_ {
                     ["default"] = [[Пусть тазер и незаряжен, пока что я предпочёл бы оставить его у себя.]]
                    ,["tais3._state==5"] =
                        use_ {
                           ["default"] = [[Не думаю, что стоит делать это.]]
                          ,["tais3"] =
                              chain_ {
                                dropself,
                                [[Я протягиваю Таис тазер, она берёт его и прячет себе за пояс.^
                                  -- Всё, -- говорит она, -- игры в заложников закончены.]]
                              }
                        }
                  }
  ,Fetch        = redirect_("Give")
  ,articles     = {
                    ["Shoot"] = "из"
                  }
  ,withKick     = true
  ,withThreat   = true
}:like(pItem)

locker2_start = rooms.event
  [[Я киваю головой.^
    -- Когда я говорила, что не прощу себе, если кто-нибудь пострадает, то имела в виду... -- начинает Таис.^
    Она не успевает договорить.^
    В этот момент дверь в комнату распахивается, и в проёме оказываются два человека в тёмно-серой униформе, вооружённые шоковыми
    пистолетами. Позади них стоит коренастый мужчина с блестящей лысиной. Алик.]]

alik = item {
   _talk        = 0
  ,nam          = _"Алик"
  ,Exam         = [[Лицо у Алика раскраснелось так, словно он изнывает от жары, хотя здесь довольно холодно. Я даже замечаю, как по правому
                    виску у него стекает капелька пота. В руке он держит всё тот же шоковый пистолет.]]
  ,Talk         = choose_ {
                     ["default"] =
                        [[-- Тебе отсюда не уйти, -- говорит Алик.^
                          Он пытается казаться спокойным, но весь обливается потом.]]
                    ,["locker2._walk>0"] =
                        choose_ {
                           ["default"] =
                              chain_ {
                                inc_("s._talk"),
                                [[-- Алик, пожалуйста! -- молит его Таис. -- Он на взводе! Мы просто пройдём через один коридор
                                  до Д2 -- и всё. Идти ему всё равно некуда.^
                                  -- Чёрт возьми! -- Лысый мужчина начинает тереть рукой раскрасневшееся лицо. -- Как у него
                                  вообще оказался тазер? Ты же говорила, что он обезоружен!^
                                  -- Извини, Алик, -- говорит Таис и делает ещё один шаг вперед.^
                                  Я следую за ней.]]
                              }
                          ,["s._talk==1"] =
                              chain_ {
                                inc_("s._talk"),
                                [[-- Я просто хочу в Д2! -- говорю я и поднимаю руку с тазером так, чтобы её все видели.^
                                  Я целюсь Таис в голову.^
                                  -- Не вынуждайте меня! -- кричу я. -- Или вам есть, что скрывать? В Д2 должен быть ещё один
                                  человек с "Ахилла", я хочу его видеть.^
                                  -- А я хочу, чтобы ты бросил оружие и поднял руки! -- отвечает Алик.]]
                              }
                          ,["s._talk==2"] =
                              [[Вряд ли я смогу его убедить. Но, может, у Таис это получится?]]
                          ,["s._talk==3"] =
                              [[Думаю, мы достаточно наговорились. Надо поскорее убираться отсюда, пока они не передумали.]]
                        }
                  }
  ,Listen       = redirect_("Talk")
  ,Approach     = [[Лучше не приближаться к ним близко.]]
  ,Attack       = [[Это не лучшая идея.]]
  ,Threat       = [[В отличие от меня, у него есть заряжённое оружие. Так что я бы поостерёгся.]]
  ,withShoot    = true
  ,withTakeForce= true
  ,articles     = {
                    ["TakeForce"] = "у"
                  }
}:like(pHuman)

guards = item {
   _talk        = 0
  ,multiple     = true
  ,nam          = _"люди в сером"
  ,Exam         = [[Они примерно одного роста и даже немного похожи друг на друга -- оба гладко выбритые и худощавые, как будто несколько
                    лет сидели только на голодном армейском пайке. На их форме нет никаких нашивок или опознавательных знаков -- такая роба 
                    подошла бы и уборщикам, и отряду специального назначения, и технику на космическом корабле. Однако ведут себя эти
                    ребята уверенно и чётко; явно, им уже не в первый раз приходится участвовать в подобных операциях.]]
  ,Talk         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Опустите оружие! -- кричу я тёмно-серым. -- Опустите! Или я пристрелю её!^
                            Но они никак не реагируют и продолжают целиться в меня из своих шоковых пистолетов.]]
                        }
                    ,["s._talk==1"] = [[Они явно не настроены разговаривать.]]
                  }
  ,Threat       = [[Не думаю, что это хорошая идея.]]
  ,Listen       = [[Тёмно-серые до сих пор не проронили ни слова и вообще больше похожи на роботов, чем на людей.]]
  ,Approach     = redirect_("Walk", "alik")
  ,Attack       = [[Сомневаюсь, что мне стоит нападать на двух вооружённых людей, имея при себе только незаряженный тазер.]]
  ,withShoot    = true
  ,withTakeForce= true
  ,articles     = {
                    ["TakeForce"] = "у"
                  }
}:like(pHuman)

locker2_door = item {
   nam          = _"дверь"
  ,Exam         = [[Дверь выломана, и выход в коридор преграждают люди в тёмно-серых одеждах.]]
  ,Approach     = redirect_("Exit", "locker2")
}:like(pBuild)

locker2_go_coridor = item {
   nam          = _"коридор"
  ,Walk         = redirect_("Exit", "locker2")
  ,Exit         = redirect_("Walk")
}:like(pLocation)


---------------------------------------------------------------------------------------------------
--passline4
---------------------------------------------------------------------------------------------------
passline4 = outscene {
   _talk        = 0
  ,_topic       = 0
  ,_end         = false
  ,enter        = chain_ {
                    timer_(10000),
                    mute_(5000,2000)
                  }
  ,obj          = {
                     "passline4_start"
                    ,"passline4_itself"
                    ,"passline4_go_orange"
                    ,"passline4_go_red"
                    ,"passline4_doubledoor"
                    ,"passline4_nextblock"
                    ,"passline_walls"
                    ,"passline_ceil"
                    ,"passline_floor"
                    ,"escape_gun"
                    ,"guards"
                    ,"alik2"
                    ,"tazer_block"
                  }
  ,TurnAround   = choose_ {
                     ["default"] =
                        [[Я оглядываюсь и смотрю на красную газовую лампу в конце коридора -- до неё всего с десяток метров,
                          однако сейчас это расстояние кажется невыносимо огромным.]]
                    ,["passline4_go_red._walk==2"] =
                        [[Я оборачиваюсь. До выхода в блок Д осталось всего несколько шагов, однако массивная двойная дверь под
                          красной лампой заблокирована -- нужно будет ввести код.]]
                    ,["passline4_go_red._walk==3"] = [[Мы стоим у двери в блок Д.]]
                  }
  ,Wait         = [[Ожидание мне сейчас никак не поможет.]]
  ,Return       = [[Не думаю, что имеет смысл возвращаться, хотя мне почему-то вновь хочется оказаться запертым в тесном кабинете
                    вместе с Таис.]]
  ,Refresh      = redirect_("Exam", "passline4_itself")
  ,tais0        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Надеюсь, они не начнут стрелять, -- тихо говорю я Таис.^
                            -- Не провоцируй их, -- отвечает Таис. -- Мы просто дойдем до Д2, а потом ты отдашь тазер, как и
                            обещал.^
                            -- Таис! -- неожиданно вмешивается Алик. -- Я очень надеюсь, что ты не будешь потакать его бредням!^
                            -- Алик! -- говорит девушка. -- Он всего лишь хочет в Д2. В этом ведь нет ничего такого, да?^
                            -- Он опасен, -- хмуро отвечает Алик.]]
                        }
                    ,["s._talk==1"] =
                        [[-- Иди спиной, -- говорю я Таис, -- и не оборачивайся.]]
                  }
  ,tais1        = [[-- Да что с ним? -- спрашиваю я Таис. -- Он действительно будет стрелять?^
                    Но Таис в ответ лишь качает головой.]]
  ,tais2        = [[-- Ты как? -- спрашиваю я.^
                    -- Нормально, -- сухо отвечает Таис.]]
  ,tais3        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Тебе нужно будет ввести код, -- говорю я Таис.^
                            Таис бросает на меня какой-то странный взгляд.^
                            -- Я не уверена, -- тихо произносит она и косится на Алика. -- Я никак не могу вспомнить, какой здесь код.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Не понял, -- говорю я. -- Хватит уже этих штучек! Ты просто обязана знать код!^
                            -- Я забыла, -- отвечает Таис. -- Как-то я не привыкла к тому, что меня бьют по голове.^
                            Мне приходится сказать это:^
                            -- Хочешь, чтобы я ударил тебя ещё раз?^
                            Таис поднимает голову.^
                            -- Будешь целиться в меня, пока я ввожу код? -- спрашивает она. -- Смотри, не промахнись.]]
                        }
                    ,["s._talk==2"] =
                        walk_("gameover",
                            [[-- Не промахнусь! -- говорю я и подтакливаю Таис к двери.^
                              Таис подходит к пульту управления, мне приходится на секунду опустить тазер, и Алику хватает этого
                              времени, чтобы вскинуть свой пистолет и выстрелить. Я чувствую сильный удар в грудь и падаю.]])
                  }
  ,tais4        = redirect_("tais2")
  ,threat       = choose_{
                     ["default"] = [[Я и так держу дуло тазера у её виска, кричать и размахивать оружием пока не нужно.]]
                    ,["passline4_go_red._walk==1 and alik2._angry"] =
                        use_ {
                           ["default"] = [[Простые крики и угрозы на них явно не действуют.]]
                          ,["tazer3"] =
                              [[-- Я её пристрелю! -- кричу я. -- Ещё один шаг, и я...^
                                -- Не пристрелишь, -- говорит Алик.^
                                Можно подумать, он догадался, что мой тазер незаряжен. Тут требуется что-то более действенное,
                                чем крики и угрозы.]]
                        }
                  }
  ,timer        = chain_ {
                    music_("stabat",0),
                    timerstop
                  }
}

passline4_start = rooms.event
  [[Тёмно-серые расступаются и пропускают нас в коридор. Мы медленно выходим, Таис поднимает руки над головой и почти закрывает
    меня от тёмно-серых -- попасть в меня, не задев её, не сможет даже снайпер.^
    Мы останавливаемся напротив Алика, который напряжённо смотрит на Таис. Жаль, что я не могу видеть её лица.^
    Я оборачиваюсь и бросаю быстрый взгляд в конец коридора. Позади нас, под красной газовой лампой, -- широкая дверь, похожая на
    забрало шлюза, проход в блок Д.]]

tazer_block = item {
   nam          = _"картридж"
  ,TakeForce    = [[Картридж для тазера должен лежать у Таис в кармане брюк или в куртке. Я не видел, как она его убирала, но без
                    проблем смог бы найти его, если б мне предоставилась возможность её обыскать. Вот только возможности такой у
                    меня сейчас нет. К тому же, если я отберу у Таис картридж, тёмно-серые и Алик тут же догадаются, что тазер
                    незаряжен.]]
}

passline4_itself = item {
   nam          = _"коридор"
  ,Exam         = [[Мы с Таис стоим в пустом металлическом коридоре напротив трёх вооруженных людей.]]
}:like(pPhenom)

alik2 = item {
   _talk        = 0
  ,_talk2       = 0
  ,_talk3       = 0
  ,_angry       = false
  ,_help        = false
  ,nam          = _"Алик"
  ,Exam         = [[Лицо у Алика раскраснелось так, словно он изнывает от жары, хотя здесь довольно холодно. Я даже замечаю, как по правому
                    виску у него стекает капелька пота. В руке он держит всё тот же шоковый пистолет.]]
  ,Talk         = choose_ {
                     ["default"] =
                        choose_ {
                           ["default"] =
                              chain_ {
                                inc_("s._talk"),
                                [[-- Вы так не хотите, чтобы мы попали в Д2, -- говорю я Алику. -- Можно подумать, что вам есть, что скрывать.^
                                  -- Если бы я так этого не хотел, то вы бы не вышли из той комнаты, -- хмуро отвечает Алик.]]
                              }
                          ,["s._talk==1"] =
                              [[-- Ближе не подходите! -- кричу я Алику. -- Держите дистанцию! Или я не ручаюсь за себя!]]
                        }
                    ,["s._angry"] =
                        choose_ {
                          ["default"] =
                              chain_ {
                                inc_("s._talk2"),
                                inc_("tais3._state"),
                                [[-- Пропустите нас! -- кричу я. -- Или я выстрелю! Богом клянусь, я выстрелю!^
                                  Но лысый мужчина лишь нервно сжимает руками шоковый пистолет, продолжая целиться в Таис.^
                                  -- Алик, что ты делаешь? -- говорит Таис. -- Успокойся! Мы просто дойдём до Д2!^
                                  -- Как у него оказался тазер? -- спрашивает Алик.^
                                  -- Он вырвал его у меня и... -- начинает Таис.^
                                  -- Что-то не похоже, что вы боролись, -- говорит Алик. -- Что ты задумала, Таис?^
                                  -- Алик, ты ошибаешься!^
                                  -- Не думаю, -- отвечает мужчина и поворачивается ко мне. -- Бросай оружие! Я буду считать до трёх!]]
                              }
                          ,["s._talk2==1"] =
                              chain_ {
                                inc_("s._talk2"),
                                [[-- Раз! -- выкрикивает Алик.^
                                  -- Ты с ума сошёл, -- шепчет Таис.]]
                              }
                          ,["s._talk2==2"] =
                              chain_ {
                                inc_("s._talk2"),
                                [[-- Два! -- выкрикивает мужчина.^
                                  -- Алик, не надо!^
                                  Таис толкает меня локтём, как будто хочет что-то сказать. Но я не понимаю. В любом случае, убеждения
                                  на её напарника уже не действуют. Надо придумать что-то ещё. Но у меня нет ничего, кроме незаряженного
                                  тазера!]]
                              }
                          ,["s._talk2==3"] =
                              walk_("gameover",
                                [[-- Три!^
                                  Я всё ещё не верю, что он действительно будет стрелять. Алик несколько секунд смотрит на Таис -- кажется,
                                  он не может решиться, -- но потом шоковый пистолет вздрагивает в его руке, раздаётся резкий хлопок, и Таис,
                                  вздрогнув, оседает на пол. В эту же секунду раздаётся ещё несколько выстрелов, мою грудь разрывает от боли,
                                  я падаю на колени и проваливаюсь в темноту.]])
                        }
                      ,["s._help"] =
                          choose_ {
                             ["default"] = chain_ {
                                inc_("s._talk3"),
                                [[-- Думаю, вам стоит нам немного помочь, -- говорю я Алику.^
                                  Алик молчит.^
                                  -- Введите код для двери, -- говорю я.^
                                  -- Пусть вводит Таис, -- отвечает Алик.^
                                  -- Стоит ей отойти от меня хоть на шаг, как вы меня сразу пристрелите, -- говорю я.^
                                  -- Ну, тогда можем просто постоять здесь, -- безразлично отвечает Алик.]]
                              }
                            ,["s._talk3==1"] = chain_ {
                                inc_("s._talk3"),
                                unset_("s._help"),
                                inctopic,
                                [[-- Алик, пожалуйста! -- вмешивается Таис. -- Да открой ты эту чёртову дверь!^
                                  Выругавшись, Алик, наконец, подходит к пульту и быстро вводит код. Дверь за моей спиной открывается.^
                                  -- А теперь шаг назад! -- говорю я и быстро оглядываюсь.^
                                  Позади нас простирается ещё один пустой металлический коридор.]]
                              }
                          }
                  }
  ,Listen       = redirect_("Talk")
  ,Approach     = [[Лучше не подходить к нему близко.]]
  ,Attack       = [[Да он сразу же пристрелит меня, стоит мне лишь дёрнуться.]]
  ,Threat       = [[Нет, угрозы на него не действуют.]]
  ,withShoot    = true
  ,withTakeForce= true
  ,articles     = {
                    ["TakeForce"] = "у"
                  }
}:like(pHuman)

passline4_go_orange = item {
   nam          = name_ {
                     ["default"] = _"оранжевый свет"
                    ,["Walk"] = _"оранжевый конец коридора"
                    ,["Enter"] = _"оранжевый конец коридора"
                  }
  ,Approach     = [[Я ещё успею вернуться в свою камеру.]]
  ,Walk         = redirect_("Approach")
  ,Enter        = redirect_("Approach")
  ,articles     = { 
                     ["Walk"] = "в"
                    ,["Approach"] = "к"
                    ,["Enter"] = "в"
                  }
}:like(pLocation)

passline4_go_red = item {
   _walk        = 0
  ,nam          = name_ {
                     ["default"] = _"красный свет"
                    ,["Walk"] = _"красный конец коридора"
                    ,["Enter"] = _"красный конец коридора"
                  }
  ,Approach     = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._walk"),
                          set_("alik2._angry"),
                          inctopic,
                          [[Я кладу на плечо Таис левую руку и делаю несколько шагов назад. Девушка послушно идёт вслед за мной.
                            Алик какое-то время стоит, не двигаясь, и неотрывно смотрит на Таис, а потом вдруг вскидывает шоковый
                            пистолет:^
                            -- Стойте! -- кричит он. -- Я передумал. Ваш поход отменяется, бросай пистолет!]]
                        }
                    ,["s._walk==1 and alik2._angry"] =
                          [[-- Я сказал, стойте! -- кричит Алик и целится Таис в голову. -- Вы никуда не пойдёте!]]
                    ,["s._walk==1 and not alik2._angry"] =
                        chain_ {
                          inc_("s._walk"),
                          [[Мы продолжаем пятиться, отступая в красный конец коридор. Таис идёт медленно, как больная, склонив
                            голову и прижимая ладонь к ране на голове. Тонкая ниточка крови стекает у неё по щеке. Я придерживаю её
                            за талию, продолжая целится ей в голову из незаряженного тазера.^
                            Я чувствую себя странно подавленным из-за того, что мне пришлось её ударить.^
                            Красное марево за нами уже совсем близко.]]
                        }
                    ,["s._walk==2"] =
                        chain_ {
                          inc_("s._walk"),
                          set_("passline4._end"),
                          inctopic,
                          set_("alik2._help"),
                          [[Мы делаем ещё несколько шагов и останавливаемся у широкой двери, преграждающей проход в следующий коридор.
                            Я бросаю взгляд на панель замка. Дверь заблокирована, кто-то должен ввести код.]]
                        }
                    ,["s._walk==3 and alik2._help"] = [[Дверь заблокирована, дальше прохода нет.]]
                    ,["s._walk==3 and not alik2._help"] = walk_("passline5")
                  }
  ,Walk         = redirect_("Approach")
  ,Enter        = redirect_("Approach")
  ,articles     = { 
                     ["Walk"] = "в"
                    ,["Approach"] = "к"
                    ,["Enter"] = "в"
                  }
}:like(pLocation)

passline4_doubledoor = item {
   nam          = _"двойная дверь"
  ,Exam         = choose_ {
                     ["default"] = 
                        [[Огромная, чуть ли не бронированная дверь -- такая же, как и перед входом в этот коридор. И наверняка точно
                          так же заблокирована.]]
                    ,["passline4_go_red._walk==3 and alik2._help"] = [[Дверь заблокирована, кто-то должен ввести код.]]
                    ,["passline4_go_red._walk==3 and not alik2._help"] = [[Проход в блок Д открыт, теперь нас ничего не держит.]]
                  }
  ,Approach     = redirect_("Approach", "passline4_go_red")
  ,Open         = choose_ {
                     ["default"] = [[Сначала нужно подойти поближе.]]
                    ,["passline4_go_red._walk==3"] = [[Сам я эту дверь открыть не смогу. Нужно заставить кого-нибудь ввести код.]]
                  }
  ,Crack        = redirect_("Open")
  ,Close        = choose_ {
                     ["default"] = [[Вряд ли я смогу сделать что-то с этой дверью на расстоянии.]]
                    ,["passline4_go_red._walk==3 and alik2._help"] = [[Дверь и так закрыта.]]
                    ,["passline4_go_red._walk==3 and not alik2._help"] = [[Зачем мне делать это?]]
                  }
  ,Wreck        = [[Нет смысла даже думать об этом.]]
  ,Ascend       = [[Кажется, я схожу с ума.]]
  ,articles     = {
                    ["Ascend"] = "на"
                  }
}:like(pDoor)

passline4_nextblock = item {
   nam          = "блок Д"
  ,Walk         = redirect_("Approach", "passline4_go_red")
  ,Enter        = redirect_("Approach", "passline4_go_red")
  ,articles     = {
                     ["Walk" ] = "в"
                    ,["Enter"] = "в"
                  }
}


---------------------------------------------------------------------------------------------------
--passline5
---------------------------------------------------------------------------------------------------
passline5 = outscene {
   obj          = {
                     "passline5_start"
                    ,"passline5_d2"
                    ,"passline_walls"
                    ,"passline_ceil"
                    ,"passline_floor"
                    ,"escape_gun"
                    ,"guards"
                    ,"alik3"
                  }
  ,tais         = [[-- Ты как? -- спрашиваю я.^
                    Но Таис лишь вздыхает в ответ.]]
  ,Refresh      = [[Рассматривать здесь нечего -- точно такой же коридор, как и предыдущий.]]
  ,TurnAround   = [[Позади меня никого нет.]]
  ,Wait         = redirect_("Wait", "passline4")
  ,Return       = redirect_("Return", "passline4")
}

passline5_start = rooms.event
  [[Мы проходим в блок Д, Алик и два человека в сером медленно следуют за нами. Дверь в Д2 находится прямо по центру
    коридора. Мне постоянно кажется, что за моей спиной может кто-нибудь появиться, и я несколько раз оглядываюсь назад.]]

passline5_d2 = item {
   _walk        = 0
  ,nam          = name_ {
                     ["default"] = _"дверь Д2"
                    ,["Enter"] = _"Д2"
                    ,["Walk"] = _"Д2"
                  }
  ,Exam         = [[Дверь обшита массивными металлическими панелями, как и остальные двери в этом коридоре. Рядом с дверью
                    красуется панель с красными индикатором и кнопками. Снова электрический замок!]]
  ,Approach     = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._walk"),
                          [[Я делаю несколько шагов к Д2, прикрываясь Таис от тёмно-серых с шоковыми пистолетами. Осталось
                            совсем немного.]]
                        }
                    ,["s._walk==1"] =
                        chain_ {
                          inc_("s._walk"),
                          [[Я останавливаюсь у Д2 и киваю головой в сторону панели электрического замка.^
                            -- Думаю, вам нужно ввести ещё один код, -- говорю я Алику.^
                            Тот стоит, не двигаясь, и смотрит на Таис.^
                            -- Алик, -- тихо говорит она, -- я уже еле на ногах стою. Введи этот код, сколько можно!^
                            -- А что, ты думаешь, произойдёт, когда он это всё увидит? Что изменится? -- неожиданно спрашивает Алик.^
                            -- Я уже ни о чём не думаю, -- устало отвечает Таис.^
                            Алик пожимает плечами, подходит к пульту и набирает код. Раздаётся отрывистый щелчок -- дверь открыта.]]
                        }
                    ,["s._walk==2"] =
                        chain_ {
                          inc_("tais3._state"),
                          mute_(4000,0),
                          walk_("inter2start")
                        }
                  }
  ,Enter        = redirect_("Approach")
  ,Open         = [[Надо будет опять заставить кого-нибудь ввести код.]]
  ,Crack        = redirect_("Open")
  ,Close        = [[Это не имеет смысла.]]
  ,Wreck        = [[Выбить эту дверь у меня не получится.]]
  ,Ascend       = [[Кажется, я схожу с ума.]]
  ,articles     = {
                     ["Enter"] = "в"
                    ,["Ascend"] = "на"
                  }
}:like(pDoor)

alik3 = item {
   _talk        = 0
  ,nam          = _"Алик"
  ,Exam         = redirect_("Exam", "alik2")
  ,Talk         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Надеюсь, вы не попытаетесь выкинуть что-то, -- говорю я Алику.^
                            -- Надеюсь, вы тоже, -- отвечает тот.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- И что там? -- спрашиваю я. -- Что вы от меня так пытались скрыть?^
                            Алик не отвечает.]]
                        }
                    ,["s._talk==2"] = [[Мне больше не о чем с ним разговаривать.]]
                  }
  ,Listen       = redirect_("Talk")
  ,Approach     = [[Я бы предпочёл держаться от него подальше.]]
  ,Attack       = redirect_("Attack", "alik2")
  ,withTakeForce= true
  ,articles     = {
                    ["TakeForce"] = "у"
                  }
}:like(pHuman)
